@ohos-ports/confluentinc-kafka-javascript 1.10.0-beta.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +457 -0
- package/LICENSE.kafkajs +31 -0
- package/LICENSE.node-rdkafka +25 -0
- package/LICENSE.txt +20 -0
- package/README.md +133 -0
- package/binding.gyp +184 -0
- package/build/Release/confluent-kafka-javascript.node +0 -0
- package/build/deps/librdkafka++.so.1 +0 -0
- package/build/deps/librdkafka.Makefile +6 -0
- package/build/deps/librdkafka.so.1 +0 -0
- package/build/deps/librdkafka.target.mk +55 -0
- package/deps/librdkafka/.clang-format +136 -0
- package/deps/librdkafka/.clang-format-cpp +103 -0
- package/deps/librdkafka/.dir-locals.el +10 -0
- package/deps/librdkafka/.formatignore +35 -0
- package/deps/librdkafka/.gdbmacros +19 -0
- package/deps/librdkafka/CHANGELOG.md +2477 -0
- package/deps/librdkafka/CMakeLists.txt +291 -0
- package/deps/librdkafka/CODE_OF_CONDUCT.md +46 -0
- package/deps/librdkafka/CONFIGURATION.md +212 -0
- package/deps/librdkafka/CONTRIBUTING.md +431 -0
- package/deps/librdkafka/Doxyfile +2375 -0
- package/deps/librdkafka/INTRODUCTION.md +2752 -0
- package/deps/librdkafka/LICENSE +26 -0
- package/deps/librdkafka/LICENSE.cjson +22 -0
- package/deps/librdkafka/LICENSE.crc32c +28 -0
- package/deps/librdkafka/LICENSE.fnv1a +18 -0
- package/deps/librdkafka/LICENSE.hdrhistogram +27 -0
- package/deps/librdkafka/LICENSE.lz4 +26 -0
- package/deps/librdkafka/LICENSE.murmur2 +25 -0
- package/deps/librdkafka/LICENSE.nanopb +22 -0
- package/deps/librdkafka/LICENSE.opentelemetry +203 -0
- package/deps/librdkafka/LICENSE.pycrc +23 -0
- package/deps/librdkafka/LICENSE.queue +31 -0
- package/deps/librdkafka/LICENSE.regexp +5 -0
- package/deps/librdkafka/LICENSE.snappy +36 -0
- package/deps/librdkafka/LICENSE.tinycthread +26 -0
- package/deps/librdkafka/LICENSE.wingetopt +49 -0
- package/deps/librdkafka/LICENSES.txt +625 -0
- package/deps/librdkafka/Makefile +125 -0
- package/deps/librdkafka/README.md +201 -0
- package/deps/librdkafka/README.win32 +26 -0
- package/deps/librdkafka/STATISTICS.md +624 -0
- package/deps/librdkafka/configure +214 -0
- package/deps/librdkafka/configure.self +341 -0
- package/deps/librdkafka/dev-conf.sh +123 -0
- package/deps/librdkafka/lds-gen.py +73 -0
- package/deps/librdkafka/mainpage.doxy +40 -0
- package/deps/librdkafka/mklove/Makefile.base +329 -0
- package/deps/librdkafka/mklove/modules/configure.atomics +144 -0
- package/deps/librdkafka/mklove/modules/configure.base +2484 -0
- package/deps/librdkafka/mklove/modules/configure.builtin +70 -0
- package/deps/librdkafka/mklove/modules/configure.cc +186 -0
- package/deps/librdkafka/mklove/modules/configure.cxx +8 -0
- package/deps/librdkafka/mklove/modules/configure.fileversion +65 -0
- package/deps/librdkafka/mklove/modules/configure.gitversion +29 -0
- package/deps/librdkafka/mklove/modules/configure.good_cflags +18 -0
- package/deps/librdkafka/mklove/modules/configure.host +132 -0
- package/deps/librdkafka/mklove/modules/configure.lib +49 -0
- package/deps/librdkafka/mklove/modules/configure.libcurl +99 -0
- package/deps/librdkafka/mklove/modules/configure.libsasl2 +36 -0
- package/deps/librdkafka/mklove/modules/configure.libssl +147 -0
- package/deps/librdkafka/mklove/modules/configure.libzstd +58 -0
- package/deps/librdkafka/mklove/modules/configure.parseversion +95 -0
- package/deps/librdkafka/mklove/modules/configure.pic +16 -0
- package/deps/librdkafka/mklove/modules/configure.socket +20 -0
- package/deps/librdkafka/mklove/modules/configure.zlib +61 -0
- package/deps/librdkafka/mklove/modules/patches/README.md +8 -0
- package/deps/librdkafka/mklove/modules/patches/libcurl.0000-no-runtime-linking-check.patch +11 -0
- package/deps/librdkafka/mklove/modules/patches/libssl.0000-osx-rand-include-fix-OpenSSL-PR16409.patch +56 -0
- package/deps/librdkafka/service.yml +182 -0
- package/deps/librdkafka/src/CMakeLists.txt +379 -0
- package/deps/librdkafka/src/Makefile +105 -0
- package/deps/librdkafka/src/README.lz4.md +30 -0
- package/deps/librdkafka/src/cJSON.c +3191 -0
- package/deps/librdkafka/src/cJSON.h +306 -0
- package/deps/librdkafka/src/crc32c.c +430 -0
- package/deps/librdkafka/src/crc32c.h +38 -0
- package/deps/librdkafka/src/generate_proto.sh +66 -0
- package/deps/librdkafka/src/librdkafka_cgrp_synch.png +0 -0
- package/deps/librdkafka/src/lz4.c +2727 -0
- package/deps/librdkafka/src/lz4.h +842 -0
- package/deps/librdkafka/src/lz4frame.c +2078 -0
- package/deps/librdkafka/src/lz4frame.h +692 -0
- package/deps/librdkafka/src/lz4frame_static.h +47 -0
- package/deps/librdkafka/src/lz4hc.c +1631 -0
- package/deps/librdkafka/src/lz4hc.h +413 -0
- package/deps/librdkafka/src/nanopb/pb.h +917 -0
- package/deps/librdkafka/src/nanopb/pb_common.c +388 -0
- package/deps/librdkafka/src/nanopb/pb_common.h +49 -0
- package/deps/librdkafka/src/nanopb/pb_decode.c +1727 -0
- package/deps/librdkafka/src/nanopb/pb_decode.h +193 -0
- package/deps/librdkafka/src/nanopb/pb_encode.c +1000 -0
- package/deps/librdkafka/src/nanopb/pb_encode.h +185 -0
- package/deps/librdkafka/src/opentelemetry/common.pb.c +32 -0
- package/deps/librdkafka/src/opentelemetry/common.pb.h +170 -0
- package/deps/librdkafka/src/opentelemetry/metrics.options +2 -0
- package/deps/librdkafka/src/opentelemetry/metrics.pb.c +67 -0
- package/deps/librdkafka/src/opentelemetry/metrics.pb.h +966 -0
- package/deps/librdkafka/src/opentelemetry/resource.pb.c +12 -0
- package/deps/librdkafka/src/opentelemetry/resource.pb.h +58 -0
- package/deps/librdkafka/src/queue.h +850 -0
- package/deps/librdkafka/src/rd.h +592 -0
- package/deps/librdkafka/src/rdaddr.c +255 -0
- package/deps/librdkafka/src/rdaddr.h +202 -0
- package/deps/librdkafka/src/rdatomic.h +262 -0
- package/deps/librdkafka/src/rdavg.h +260 -0
- package/deps/librdkafka/src/rdavl.c +210 -0
- package/deps/librdkafka/src/rdavl.h +250 -0
- package/deps/librdkafka/src/rdbase64.c +200 -0
- package/deps/librdkafka/src/rdbase64.h +43 -0
- package/deps/librdkafka/src/rdbuf.c +1884 -0
- package/deps/librdkafka/src/rdbuf.h +375 -0
- package/deps/librdkafka/src/rdcrc32.c +114 -0
- package/deps/librdkafka/src/rdcrc32.h +170 -0
- package/deps/librdkafka/src/rddl.c +179 -0
- package/deps/librdkafka/src/rddl.h +43 -0
- package/deps/librdkafka/src/rdendian.h +175 -0
- package/deps/librdkafka/src/rdfloat.h +67 -0
- package/deps/librdkafka/src/rdfnv1a.c +113 -0
- package/deps/librdkafka/src/rdfnv1a.h +35 -0
- package/deps/librdkafka/src/rdgz.c +120 -0
- package/deps/librdkafka/src/rdgz.h +46 -0
- package/deps/librdkafka/src/rdhdrhistogram.c +721 -0
- package/deps/librdkafka/src/rdhdrhistogram.h +87 -0
- package/deps/librdkafka/src/rdhttp.c +831 -0
- package/deps/librdkafka/src/rdhttp.h +101 -0
- package/deps/librdkafka/src/rdinterval.h +177 -0
- package/deps/librdkafka/src/rdkafka.c +7287 -0
- package/deps/librdkafka/src/rdkafka.h +11795 -0
- package/deps/librdkafka/src/rdkafka_admin.c +10165 -0
- package/deps/librdkafka/src/rdkafka_admin.h +658 -0
- package/deps/librdkafka/src/rdkafka_assignment.c +1282 -0
- package/deps/librdkafka/src/rdkafka_assignment.h +73 -0
- package/deps/librdkafka/src/rdkafka_assignor.c +1800 -0
- package/deps/librdkafka/src/rdkafka_assignor.h +402 -0
- package/deps/librdkafka/src/rdkafka_aux.c +409 -0
- package/deps/librdkafka/src/rdkafka_aux.h +174 -0
- package/deps/librdkafka/src/rdkafka_background.c +222 -0
- package/deps/librdkafka/src/rdkafka_broker.c +6736 -0
- package/deps/librdkafka/src/rdkafka_broker.h +851 -0
- package/deps/librdkafka/src/rdkafka_buf.c +543 -0
- package/deps/librdkafka/src/rdkafka_buf.h +1525 -0
- package/deps/librdkafka/src/rdkafka_cert.c +576 -0
- package/deps/librdkafka/src/rdkafka_cert.h +62 -0
- package/deps/librdkafka/src/rdkafka_cgrp.c +8310 -0
- package/deps/librdkafka/src/rdkafka_cgrp.h +589 -0
- package/deps/librdkafka/src/rdkafka_conf.c +5177 -0
- package/deps/librdkafka/src/rdkafka_conf.h +746 -0
- package/deps/librdkafka/src/rdkafka_confval.h +97 -0
- package/deps/librdkafka/src/rdkafka_coord.c +623 -0
- package/deps/librdkafka/src/rdkafka_coord.h +132 -0
- package/deps/librdkafka/src/rdkafka_error.c +228 -0
- package/deps/librdkafka/src/rdkafka_error.h +80 -0
- package/deps/librdkafka/src/rdkafka_event.c +502 -0
- package/deps/librdkafka/src/rdkafka_event.h +126 -0
- package/deps/librdkafka/src/rdkafka_feature.c +898 -0
- package/deps/librdkafka/src/rdkafka_feature.h +104 -0
- package/deps/librdkafka/src/rdkafka_fetcher.c +3820 -0
- package/deps/librdkafka/src/rdkafka_fetcher.h +62 -0
- package/deps/librdkafka/src/rdkafka_header.c +220 -0
- package/deps/librdkafka/src/rdkafka_header.h +76 -0
- package/deps/librdkafka/src/rdkafka_idempotence.c +807 -0
- package/deps/librdkafka/src/rdkafka_idempotence.h +144 -0
- package/deps/librdkafka/src/rdkafka_int.h +1505 -0
- package/deps/librdkafka/src/rdkafka_interceptor.c +842 -0
- package/deps/librdkafka/src/rdkafka_interceptor.h +104 -0
- package/deps/librdkafka/src/rdkafka_lz4.c +450 -0
- package/deps/librdkafka/src/rdkafka_lz4.h +49 -0
- package/deps/librdkafka/src/rdkafka_metadata.c +2347 -0
- package/deps/librdkafka/src/rdkafka_metadata.h +350 -0
- package/deps/librdkafka/src/rdkafka_metadata_cache.c +1183 -0
- package/deps/librdkafka/src/rdkafka_mock.c +4514 -0
- package/deps/librdkafka/src/rdkafka_mock.h +867 -0
- package/deps/librdkafka/src/rdkafka_mock_cgrp.c +1877 -0
- package/deps/librdkafka/src/rdkafka_mock_handlers.c +5255 -0
- package/deps/librdkafka/src/rdkafka_mock_int.h +1005 -0
- package/deps/librdkafka/src/rdkafka_mock_sharegrp.c +1207 -0
- package/deps/librdkafka/src/rdkafka_msg.c +2619 -0
- package/deps/librdkafka/src/rdkafka_msg.h +629 -0
- package/deps/librdkafka/src/rdkafka_msgbatch.h +62 -0
- package/deps/librdkafka/src/rdkafka_msgset.h +105 -0
- package/deps/librdkafka/src/rdkafka_msgset_reader.c +2099 -0
- package/deps/librdkafka/src/rdkafka_msgset_writer.c +1474 -0
- package/deps/librdkafka/src/rdkafka_offset.c +1565 -0
- package/deps/librdkafka/src/rdkafka_offset.h +150 -0
- package/deps/librdkafka/src/rdkafka_op.c +1219 -0
- package/deps/librdkafka/src/rdkafka_op.h +1065 -0
- package/deps/librdkafka/src/rdkafka_partition.c +5109 -0
- package/deps/librdkafka/src/rdkafka_partition.h +1215 -0
- package/deps/librdkafka/src/rdkafka_pattern.c +228 -0
- package/deps/librdkafka/src/rdkafka_pattern.h +70 -0
- package/deps/librdkafka/src/rdkafka_plugin.c +213 -0
- package/deps/librdkafka/src/rdkafka_plugin.h +41 -0
- package/deps/librdkafka/src/rdkafka_proto.h +739 -0
- package/deps/librdkafka/src/rdkafka_protocol.h +131 -0
- package/deps/librdkafka/src/rdkafka_queue.c +1351 -0
- package/deps/librdkafka/src/rdkafka_queue.h +1235 -0
- package/deps/librdkafka/src/rdkafka_range_assignor.c +1748 -0
- package/deps/librdkafka/src/rdkafka_request.c +7298 -0
- package/deps/librdkafka/src/rdkafka_request.h +761 -0
- package/deps/librdkafka/src/rdkafka_roundrobin_assignor.c +123 -0
- package/deps/librdkafka/src/rdkafka_sasl.c +589 -0
- package/deps/librdkafka/src/rdkafka_sasl.h +63 -0
- package/deps/librdkafka/src/rdkafka_sasl_cyrus.c +722 -0
- package/deps/librdkafka/src/rdkafka_sasl_int.h +89 -0
- package/deps/librdkafka/src/rdkafka_sasl_oauthbearer.c +1833 -0
- package/deps/librdkafka/src/rdkafka_sasl_oauthbearer.h +52 -0
- package/deps/librdkafka/src/rdkafka_sasl_oauthbearer_oidc.c +1827 -0
- package/deps/librdkafka/src/rdkafka_sasl_oauthbearer_oidc.h +52 -0
- package/deps/librdkafka/src/rdkafka_sasl_plain.c +142 -0
- package/deps/librdkafka/src/rdkafka_sasl_scram.c +858 -0
- package/deps/librdkafka/src/rdkafka_sasl_win32.c +550 -0
- package/deps/librdkafka/src/rdkafka_share_acknowledgement.c +1445 -0
- package/deps/librdkafka/src/rdkafka_share_acknowledgement.h +373 -0
- package/deps/librdkafka/src/rdkafka_ssl.c +2235 -0
- package/deps/librdkafka/src/rdkafka_ssl.h +86 -0
- package/deps/librdkafka/src/rdkafka_sticky_assignor.c +4785 -0
- package/deps/librdkafka/src/rdkafka_subscription.c +411 -0
- package/deps/librdkafka/src/rdkafka_telemetry.c +761 -0
- package/deps/librdkafka/src/rdkafka_telemetry.h +52 -0
- package/deps/librdkafka/src/rdkafka_telemetry_decode.c +1307 -0
- package/deps/librdkafka/src/rdkafka_telemetry_decode.h +59 -0
- package/deps/librdkafka/src/rdkafka_telemetry_encode.c +1309 -0
- package/deps/librdkafka/src/rdkafka_telemetry_encode.h +459 -0
- package/deps/librdkafka/src/rdkafka_timer.c +407 -0
- package/deps/librdkafka/src/rdkafka_timer.h +117 -0
- package/deps/librdkafka/src/rdkafka_topic.c +2382 -0
- package/deps/librdkafka/src/rdkafka_topic.h +369 -0
- package/deps/librdkafka/src/rdkafka_transport.c +1309 -0
- package/deps/librdkafka/src/rdkafka_transport.h +99 -0
- package/deps/librdkafka/src/rdkafka_transport_int.h +100 -0
- package/deps/librdkafka/src/rdkafka_txnmgr.c +3256 -0
- package/deps/librdkafka/src/rdkafka_txnmgr.h +171 -0
- package/deps/librdkafka/src/rdkafka_zstd.c +226 -0
- package/deps/librdkafka/src/rdkafka_zstd.h +57 -0
- package/deps/librdkafka/src/rdlist.c +593 -0
- package/deps/librdkafka/src/rdlist.h +444 -0
- package/deps/librdkafka/src/rdlog.c +89 -0
- package/deps/librdkafka/src/rdlog.h +41 -0
- package/deps/librdkafka/src/rdmap.c +508 -0
- package/deps/librdkafka/src/rdmap.h +492 -0
- package/deps/librdkafka/src/rdmurmur2.c +167 -0
- package/deps/librdkafka/src/rdmurmur2.h +35 -0
- package/deps/librdkafka/src/rdports.c +61 -0
- package/deps/librdkafka/src/rdports.h +38 -0
- package/deps/librdkafka/src/rdposix.h +250 -0
- package/deps/librdkafka/src/rdrand.c +151 -0
- package/deps/librdkafka/src/rdrand.h +72 -0
- package/deps/librdkafka/src/rdregex.c +156 -0
- package/deps/librdkafka/src/rdregex.h +43 -0
- package/deps/librdkafka/src/rdsignal.h +57 -0
- package/deps/librdkafka/src/rdstring.c +645 -0
- package/deps/librdkafka/src/rdstring.h +98 -0
- package/deps/librdkafka/src/rdsysqueue.h +404 -0
- package/deps/librdkafka/src/rdtime.h +356 -0
- package/deps/librdkafka/src/rdtypes.h +86 -0
- package/deps/librdkafka/src/rdunittest.c +564 -0
- package/deps/librdkafka/src/rdunittest.h +232 -0
- package/deps/librdkafka/src/rdunittest_acknowledge.c +1177 -0
- package/deps/librdkafka/src/rdunittest_fetcher.c +1211 -0
- package/deps/librdkafka/src/rdunittest_msgset_errors.c +1521 -0
- package/deps/librdkafka/src/rdvarint.c +134 -0
- package/deps/librdkafka/src/rdvarint.h +165 -0
- package/deps/librdkafka/src/rdwin32.h +382 -0
- package/deps/librdkafka/src/rdxxhash.c +1030 -0
- package/deps/librdkafka/src/rdxxhash.h +328 -0
- package/deps/librdkafka/src/regexp.c +1352 -0
- package/deps/librdkafka/src/regexp.h +41 -0
- package/deps/librdkafka/src/snappy.c +1866 -0
- package/deps/librdkafka/src/snappy.h +62 -0
- package/deps/librdkafka/src/snappy_compat.h +138 -0
- package/deps/librdkafka/src/statistics_schema.json +444 -0
- package/deps/librdkafka/src/tinycthread.c +932 -0
- package/deps/librdkafka/src/tinycthread.h +503 -0
- package/deps/librdkafka/src/tinycthread_extra.c +210 -0
- package/deps/librdkafka/src/tinycthread_extra.h +218 -0
- package/deps/librdkafka/src/win32_config.h +58 -0
- package/deps/librdkafka/src-cpp/CMakeLists.txt +90 -0
- package/deps/librdkafka/src-cpp/ConfImpl.cpp +84 -0
- package/deps/librdkafka/src-cpp/ConsumerImpl.cpp +244 -0
- package/deps/librdkafka/src-cpp/HandleImpl.cpp +436 -0
- package/deps/librdkafka/src-cpp/HeadersImpl.cpp +48 -0
- package/deps/librdkafka/src-cpp/KafkaConsumerImpl.cpp +296 -0
- package/deps/librdkafka/src-cpp/Makefile +55 -0
- package/deps/librdkafka/src-cpp/MessageImpl.cpp +38 -0
- package/deps/librdkafka/src-cpp/MetadataImpl.cpp +170 -0
- package/deps/librdkafka/src-cpp/ProducerImpl.cpp +197 -0
- package/deps/librdkafka/src-cpp/QueueImpl.cpp +70 -0
- package/deps/librdkafka/src-cpp/README.md +16 -0
- package/deps/librdkafka/src-cpp/RdKafka.cpp +59 -0
- package/deps/librdkafka/src-cpp/TopicImpl.cpp +124 -0
- package/deps/librdkafka/src-cpp/TopicPartitionImpl.cpp +57 -0
- package/deps/librdkafka/src-cpp/rdkafkacpp.h +3797 -0
- package/deps/librdkafka/src-cpp/rdkafkacpp_int.h +1641 -0
- package/deps/librdkafka/tests/0000-unittests.c +72 -0
- package/deps/librdkafka/tests/0001-multiobj.c +102 -0
- package/deps/librdkafka/tests/0002-unkpart.c +244 -0
- package/deps/librdkafka/tests/0003-msgmaxsize.c +173 -0
- package/deps/librdkafka/tests/0004-conf.c +934 -0
- package/deps/librdkafka/tests/0005-order.c +133 -0
- package/deps/librdkafka/tests/0006-symbols.c +163 -0
- package/deps/librdkafka/tests/0007-autotopic.c +136 -0
- package/deps/librdkafka/tests/0008-reqacks.c +179 -0
- package/deps/librdkafka/tests/0009-mock_cluster.c +272 -0
- package/deps/librdkafka/tests/0011-produce_batch.c +753 -0
- package/deps/librdkafka/tests/0012-produce_consume.c +537 -0
- package/deps/librdkafka/tests/0013-null-msgs.c +473 -0
- package/deps/librdkafka/tests/0014-reconsume-191.c +512 -0
- package/deps/librdkafka/tests/0015-offset_seeks.c +172 -0
- package/deps/librdkafka/tests/0016-client_swname.c +181 -0
- package/deps/librdkafka/tests/0017-compression.c +140 -0
- package/deps/librdkafka/tests/0018-cgrp_term.c +444 -0
- package/deps/librdkafka/tests/0019-list_groups.c +289 -0
- package/deps/librdkafka/tests/0020-destroy_hang.c +162 -0
- package/deps/librdkafka/tests/0021-rkt_destroy.c +72 -0
- package/deps/librdkafka/tests/0022-consume_batch.c +331 -0
- package/deps/librdkafka/tests/0025-timers.c +147 -0
- package/deps/librdkafka/tests/0026-consume_pause.c +547 -0
- package/deps/librdkafka/tests/0028-long_topicnames.c +79 -0
- package/deps/librdkafka/tests/0029-assign_offset.c +202 -0
- package/deps/librdkafka/tests/0030-offset_commit.c +589 -0
- package/deps/librdkafka/tests/0031-get_offsets.c +235 -0
- package/deps/librdkafka/tests/0033-regex_subscribe.c +536 -0
- package/deps/librdkafka/tests/0034-offset_reset.c +398 -0
- package/deps/librdkafka/tests/0035-api_version.c +73 -0
- package/deps/librdkafka/tests/0036-partial_fetch.c +87 -0
- package/deps/librdkafka/tests/0037-destroy_hang_local.c +85 -0
- package/deps/librdkafka/tests/0038-performance.c +121 -0
- package/deps/librdkafka/tests/0039-event.c +284 -0
- package/deps/librdkafka/tests/0040-io_event.c +257 -0
- package/deps/librdkafka/tests/0041-fetch_max_bytes.c +97 -0
- package/deps/librdkafka/tests/0042-many_topics.c +252 -0
- package/deps/librdkafka/tests/0043-no_connection.c +77 -0
- package/deps/librdkafka/tests/0044-partition_cnt.c +94 -0
- package/deps/librdkafka/tests/0045-subscribe_update.c +1010 -0
- package/deps/librdkafka/tests/0046-rkt_cache.c +65 -0
- package/deps/librdkafka/tests/0047-partial_buf_tmout.c +98 -0
- package/deps/librdkafka/tests/0048-partitioner.c +283 -0
- package/deps/librdkafka/tests/0049-consume_conn_close.c +162 -0
- package/deps/librdkafka/tests/0050-subscribe_adds.c +145 -0
- package/deps/librdkafka/tests/0051-assign_adds.c +126 -0
- package/deps/librdkafka/tests/0052-msg_timestamps.c +238 -0
- package/deps/librdkafka/tests/0053-stats_cb.cpp +527 -0
- package/deps/librdkafka/tests/0054-offset_time.cpp +236 -0
- package/deps/librdkafka/tests/0055-producer_latency.c +539 -0
- package/deps/librdkafka/tests/0056-balanced_group_mt.c +315 -0
- package/deps/librdkafka/tests/0057-invalid_topic.cpp +112 -0
- package/deps/librdkafka/tests/0058-log.cpp +123 -0
- package/deps/librdkafka/tests/0059-bsearch.cpp +241 -0
- package/deps/librdkafka/tests/0060-op_prio.cpp +163 -0
- package/deps/librdkafka/tests/0061-consumer_lag.cpp +295 -0
- package/deps/librdkafka/tests/0062-stats_event.c +126 -0
- package/deps/librdkafka/tests/0063-clusterid.cpp +180 -0
- package/deps/librdkafka/tests/0064-interceptors.c +529 -0
- package/deps/librdkafka/tests/0065-yield.cpp +140 -0
- package/deps/librdkafka/tests/0066-plugins.cpp +143 -0
- package/deps/librdkafka/tests/0067-empty_topic.cpp +151 -0
- package/deps/librdkafka/tests/0068-produce_timeout.c +136 -0
- package/deps/librdkafka/tests/0069-consumer_add_parts.c +119 -0
- package/deps/librdkafka/tests/0070-null_empty.cpp +197 -0
- package/deps/librdkafka/tests/0072-headers_ut.c +448 -0
- package/deps/librdkafka/tests/0073-headers.c +381 -0
- package/deps/librdkafka/tests/0074-producev.c +87 -0
- package/deps/librdkafka/tests/0075-retry.c +290 -0
- package/deps/librdkafka/tests/0076-produce_retry.c +452 -0
- package/deps/librdkafka/tests/0077-compaction.c +366 -0
- package/deps/librdkafka/tests/0078-c_from_cpp.cpp +96 -0
- package/deps/librdkafka/tests/0079-fork.c +93 -0
- package/deps/librdkafka/tests/0080-admin_ut.c +3095 -0
- package/deps/librdkafka/tests/0081-admin.c +5633 -0
- package/deps/librdkafka/tests/0082-fetch_max_bytes.cpp +137 -0
- package/deps/librdkafka/tests/0083-cb_event.c +233 -0
- package/deps/librdkafka/tests/0084-destroy_flags.c +208 -0
- package/deps/librdkafka/tests/0085-headers.cpp +392 -0
- package/deps/librdkafka/tests/0086-purge.c +368 -0
- package/deps/librdkafka/tests/0088-produce_metadata_timeout.c +162 -0
- package/deps/librdkafka/tests/0089-max_poll_interval.c +511 -0
- package/deps/librdkafka/tests/0090-idempotence.c +171 -0
- package/deps/librdkafka/tests/0091-max_poll_interval_timeout.c +295 -0
- package/deps/librdkafka/tests/0092-mixed_msgver.c +103 -0
- package/deps/librdkafka/tests/0093-holb.c +200 -0
- package/deps/librdkafka/tests/0094-idempotence_msg_timeout.c +231 -0
- package/deps/librdkafka/tests/0095-all_brokers_down.cpp +122 -0
- package/deps/librdkafka/tests/0097-ssl_verify.cpp +674 -0
- package/deps/librdkafka/tests/0098-consumer-txn.cpp +1218 -0
- package/deps/librdkafka/tests/0099-commit_metadata.c +194 -0
- package/deps/librdkafka/tests/0100-thread_interceptors.cpp +195 -0
- package/deps/librdkafka/tests/0101-fetch-from-follower.cpp +446 -0
- package/deps/librdkafka/tests/0102-static_group_rebalance.c +836 -0
- package/deps/librdkafka/tests/0103-transactions.c +1383 -0
- package/deps/librdkafka/tests/0104-fetch_from_follower_mock.c +625 -0
- package/deps/librdkafka/tests/0105-transactions_mock.c +3930 -0
- package/deps/librdkafka/tests/0106-cgrp_sess_timeout.c +318 -0
- package/deps/librdkafka/tests/0107-topic_recreate.c +259 -0
- package/deps/librdkafka/tests/0109-auto_create_topics.cpp +278 -0
- package/deps/librdkafka/tests/0110-batch_size.cpp +182 -0
- package/deps/librdkafka/tests/0111-delay_create_topics.cpp +127 -0
- package/deps/librdkafka/tests/0112-assign_unknown_part.c +87 -0
- package/deps/librdkafka/tests/0113-cooperative_rebalance.cpp +3473 -0
- package/deps/librdkafka/tests/0114-sticky_partitioning.cpp +176 -0
- package/deps/librdkafka/tests/0115-producer_auth.cpp +182 -0
- package/deps/librdkafka/tests/0116-kafkaconsumer_close.cpp +216 -0
- package/deps/librdkafka/tests/0117-mock_errors.c +331 -0
- package/deps/librdkafka/tests/0118-commit_rebalance.c +154 -0
- package/deps/librdkafka/tests/0119-consumer_auth.cpp +167 -0
- package/deps/librdkafka/tests/0120-asymmetric_subscription.c +185 -0
- package/deps/librdkafka/tests/0121-clusterid.c +115 -0
- package/deps/librdkafka/tests/0122-buffer_cleaning_after_rebalance.c +227 -0
- package/deps/librdkafka/tests/0123-connections_max_idle.c +98 -0
- package/deps/librdkafka/tests/0124-openssl_invalid_engine.c +69 -0
- package/deps/librdkafka/tests/0125-immediate_flush.c +144 -0
- package/deps/librdkafka/tests/0126-oauthbearer_oidc.c +1164 -0
- package/deps/librdkafka/tests/0127-fetch_queue_backoff.cpp +165 -0
- package/deps/librdkafka/tests/0128-sasl_callback_queue.cpp +217 -0
- package/deps/librdkafka/tests/0129-fetch_aborted_msgs.c +79 -0
- package/deps/librdkafka/tests/0130-store_offsets.c +178 -0
- package/deps/librdkafka/tests/0131-connect_timeout.c +81 -0
- package/deps/librdkafka/tests/0132-strategy_ordering.c +179 -0
- package/deps/librdkafka/tests/0133-ssl_keys.c +150 -0
- package/deps/librdkafka/tests/0134-ssl_provider.c +92 -0
- package/deps/librdkafka/tests/0135-sasl_credentials.cpp +279 -0
- package/deps/librdkafka/tests/0136-resolve_cb.c +181 -0
- package/deps/librdkafka/tests/0137-barrier_batch_consume.c +752 -0
- package/deps/librdkafka/tests/0138-admin_mock.c +281 -0
- package/deps/librdkafka/tests/0139-offset_validation_mock.c +950 -0
- package/deps/librdkafka/tests/0140-commit_metadata.cpp +108 -0
- package/deps/librdkafka/tests/0142-reauthentication.c +931 -0
- package/deps/librdkafka/tests/0143-exponential_backoff_mock.c +552 -0
- package/deps/librdkafka/tests/0144-idempotence_mock.c +373 -0
- package/deps/librdkafka/tests/0145-pause_resume_mock.c +119 -0
- package/deps/librdkafka/tests/0146-metadata_mock.c +505 -0
- package/deps/librdkafka/tests/0147-consumer_group_consumer_mock.c +1210 -0
- package/deps/librdkafka/tests/0148-offset_fetch_commit_error_mock.c +569 -0
- package/deps/librdkafka/tests/0149-broker-same-host-port.c +140 -0
- package/deps/librdkafka/tests/0150-telemetry_mock.c +651 -0
- package/deps/librdkafka/tests/0151-purge-brokers.c +566 -0
- package/deps/librdkafka/tests/0152-rebootstrap.c +59 -0
- package/deps/librdkafka/tests/0153-memberid.c +128 -0
- package/deps/librdkafka/tests/0155-share_group_heartbeat_mock.c +2695 -0
- package/deps/librdkafka/tests/0156-share_consumer_fetch_mock.c +1551 -0
- package/deps/librdkafka/tests/0157-share_consumer_ack_mock.c +1788 -0
- package/deps/librdkafka/tests/0158-share_consumer_transactions_mock.c +467 -0
- package/deps/librdkafka/tests/0170-share_consumer_subscription.c +2192 -0
- package/deps/librdkafka/tests/0171-share_consumer_consume.c +2150 -0
- package/deps/librdkafka/tests/0172-share_consumer_acknowledge.c +1919 -0
- package/deps/librdkafka/tests/0173-share_consumer_commit_async.c +2735 -0
- package/deps/librdkafka/tests/0174-share_consumer_concurrency.c +1434 -0
- package/deps/librdkafka/tests/0175-share_consumer_groups.c +574 -0
- package/deps/librdkafka/tests/0176-share_consumer_commit_sync.c +2986 -0
- package/deps/librdkafka/tests/0177-share_consumer_transactions.c +1815 -0
- package/deps/librdkafka/tests/0178-share_consumer_close.c +2102 -0
- package/deps/librdkafka/tests/0179-share_consumer_destroy.c +2482 -0
- package/deps/librdkafka/tests/0180-share_consumer_config.c +1677 -0
- package/deps/librdkafka/tests/0181-share_consumer_topic_delete.c +354 -0
- package/deps/librdkafka/tests/0182-share_consumer_error_handling_mock.c +3358 -0
- package/deps/librdkafka/tests/0183-share_consumer_leader_change_mock.c +1234 -0
- package/deps/librdkafka/tests/0184-share_consumer_topic_recreate.c +1356 -0
- package/deps/librdkafka/tests/0185-share_consumer_max_poll_interval.c +557 -0
- package/deps/librdkafka/tests/0186-share_consumer_fatal_error.c +360 -0
- package/deps/librdkafka/tests/0190-share_consumer_telemetry.c +387 -0
- package/deps/librdkafka/tests/1000-unktopic.c +164 -0
- package/deps/librdkafka/tests/8000-idle.cpp +60 -0
- package/deps/librdkafka/tests/8001-fetch_from_follower_mock_manual.c +113 -0
- package/deps/librdkafka/tests/CMakeLists.txt +193 -0
- package/deps/librdkafka/tests/LibrdkafkaTestApp.py +291 -0
- package/deps/librdkafka/tests/Makefile +182 -0
- package/deps/librdkafka/tests/README.md +514 -0
- package/deps/librdkafka/tests/autotest.sh +33 -0
- package/deps/librdkafka/tests/backtrace.gdb +30 -0
- package/deps/librdkafka/tests/broker_version_tests.py +315 -0
- package/deps/librdkafka/tests/buildbox.sh +17 -0
- package/deps/librdkafka/tests/cleanup-checker-tests.sh +20 -0
- package/deps/librdkafka/tests/cluster_testing.py +203 -0
- package/deps/librdkafka/tests/delete-test-topics.sh +56 -0
- package/deps/librdkafka/tests/fixtures/oauthbearer/jwt_assertion_template.json +10 -0
- package/deps/librdkafka/tests/fixtures/ssl/Makefile +8 -0
- package/deps/librdkafka/tests/fixtures/ssl/README.md +13 -0
- package/deps/librdkafka/tests/fixtures/ssl/client.keystore.intermediate.p12 +0 -0
- package/deps/librdkafka/tests/fixtures/ssl/client.keystore.p12 +0 -0
- package/deps/librdkafka/tests/fixtures/ssl/client2.certificate.intermediate.pem +72 -0
- package/deps/librdkafka/tests/fixtures/ssl/client2.certificate.pem +50 -0
- package/deps/librdkafka/tests/fixtures/ssl/client2.intermediate.key +46 -0
- package/deps/librdkafka/tests/fixtures/ssl/client2.key +46 -0
- package/deps/librdkafka/tests/fixtures/ssl/create_keys.sh +168 -0
- package/deps/librdkafka/tests/fuzzers/Makefile +12 -0
- package/deps/librdkafka/tests/fuzzers/README.md +31 -0
- package/deps/librdkafka/tests/fuzzers/fuzz_regex.c +74 -0
- package/deps/librdkafka/tests/fuzzers/helpers.h +90 -0
- package/deps/librdkafka/tests/gen-ssl-certs.sh +165 -0
- package/deps/librdkafka/tests/interactive_broker_version.py +170 -0
- package/deps/librdkafka/tests/interceptor_test/CMakeLists.txt +16 -0
- package/deps/librdkafka/tests/interceptor_test/Makefile +22 -0
- package/deps/librdkafka/tests/interceptor_test/interceptor_test.c +314 -0
- package/deps/librdkafka/tests/interceptor_test/interceptor_test.h +54 -0
- package/deps/librdkafka/tests/java/IncrementalRebalanceCli.java +97 -0
- package/deps/librdkafka/tests/java/Makefile +13 -0
- package/deps/librdkafka/tests/java/Murmur2Cli.java +46 -0
- package/deps/librdkafka/tests/java/README.md +14 -0
- package/deps/librdkafka/tests/java/TransactionProducerCli.java +162 -0
- package/deps/librdkafka/tests/java/run-class.sh +11 -0
- package/deps/librdkafka/tests/librdkafka.suppressions +483 -0
- package/deps/librdkafka/tests/lz4_manual_test.sh +59 -0
- package/deps/librdkafka/tests/multi-broker-version-test.sh +50 -0
- package/deps/librdkafka/tests/parse-refcnt.sh +43 -0
- package/deps/librdkafka/tests/performance_plot.py +115 -0
- package/deps/librdkafka/tests/plugin_test/Makefile +19 -0
- package/deps/librdkafka/tests/plugin_test/plugin_test.c +58 -0
- package/deps/librdkafka/tests/requirements.txt +2 -0
- package/deps/librdkafka/tests/run-all-tests.sh +81 -0
- package/deps/librdkafka/tests/run-consumer-tests.sh +16 -0
- package/deps/librdkafka/tests/run-producer-tests.sh +16 -0
- package/deps/librdkafka/tests/run-test-batches.py +157 -0
- package/deps/librdkafka/tests/run-test.sh +141 -0
- package/deps/librdkafka/tests/rusage.c +249 -0
- package/deps/librdkafka/tests/sasl_test.py +289 -0
- package/deps/librdkafka/tests/scenarios/README.md +6 -0
- package/deps/librdkafka/tests/scenarios/ak23.json +6 -0
- package/deps/librdkafka/tests/scenarios/default.json +5 -0
- package/deps/librdkafka/tests/scenarios/noautocreate.json +5 -0
- package/deps/librdkafka/tests/share_telemetry_verify/share-otel-collector-config.yaml +28 -0
- package/deps/librdkafka/tests/sockem.c +801 -0
- package/deps/librdkafka/tests/sockem.h +85 -0
- package/deps/librdkafka/tests/sockem_ctrl.c +145 -0
- package/deps/librdkafka/tests/sockem_ctrl.h +61 -0
- package/deps/librdkafka/tests/test.c +8376 -0
- package/deps/librdkafka/tests/test.conf.example +27 -0
- package/deps/librdkafka/tests/test.h +1150 -0
- package/deps/librdkafka/tests/testcpp.cpp +131 -0
- package/deps/librdkafka/tests/testcpp.h +388 -0
- package/deps/librdkafka/tests/testshared.h +416 -0
- package/deps/librdkafka/tests/tools/README.md +4 -0
- package/deps/librdkafka/tests/tools/stats/README.md +21 -0
- package/deps/librdkafka/tests/tools/stats/filter.jq +42 -0
- package/deps/librdkafka/tests/tools/stats/graph.py +150 -0
- package/deps/librdkafka/tests/tools/stats/requirements.txt +3 -0
- package/deps/librdkafka/tests/tools/stats/to_csv.py +124 -0
- package/deps/librdkafka/tests/trivup/trivup-0.15.0.tar.gz +0 -0
- package/deps/librdkafka/tests/until-fail.sh +87 -0
- package/deps/librdkafka/tests/xxxx-assign_partition.c +122 -0
- package/deps/librdkafka/tests/xxxx-metadata.cpp +159 -0
- package/deps/librdkafka/vcpkg.json +23 -0
- package/deps/librdkafka/win32/README.md +5 -0
- package/deps/librdkafka/win32/build-package.bat +3 -0
- package/deps/librdkafka/win32/build.bat +19 -0
- package/deps/librdkafka/win32/common.vcxproj +84 -0
- package/deps/librdkafka/win32/interceptor_test/interceptor_test.vcxproj +87 -0
- package/deps/librdkafka/win32/librdkafka.autopkg.template +54 -0
- package/deps/librdkafka/win32/librdkafka.master.testing.targets +13 -0
- package/deps/librdkafka/win32/librdkafka.sln +226 -0
- package/deps/librdkafka/win32/librdkafka.vcxproj +282 -0
- package/deps/librdkafka/win32/librdkafkacpp/librdkafkacpp.vcxproj +104 -0
- package/deps/librdkafka/win32/msbuild.ps1 +58 -0
- package/deps/librdkafka/win32/openssl_engine_example/openssl_engine_example.vcxproj +132 -0
- package/deps/librdkafka/win32/package-zip.ps1 +46 -0
- package/deps/librdkafka/win32/packages/repositories.config +4 -0
- package/deps/librdkafka/win32/push-package.bat +4 -0
- package/deps/librdkafka/win32/rdkafka_complex_consumer_example_cpp/rdkafka_complex_consumer_example_cpp.vcxproj +67 -0
- package/deps/librdkafka/win32/rdkafka_example/rdkafka_example.vcxproj +97 -0
- package/deps/librdkafka/win32/rdkafka_performance/rdkafka_performance.vcxproj +97 -0
- package/deps/librdkafka/win32/setup-msys2.ps1 +47 -0
- package/deps/librdkafka/win32/setup-vcpkg.ps1 +34 -0
- package/deps/librdkafka/win32/tests/test.conf.example +25 -0
- package/deps/librdkafka/win32/tests/tests.vcxproj +278 -0
- package/deps/librdkafka/win32/win_ssl_cert_store/win_ssl_cert_store.vcxproj +132 -0
- package/deps/librdkafka/win32/wingetopt.c +564 -0
- package/deps/librdkafka/win32/wingetopt.h +101 -0
- package/deps/librdkafka/win32/wintime.h +33 -0
- package/deps/librdkafka.gyp +83 -0
- package/deps/windows-install.py +80 -0
- package/index.d.ts +3 -0
- package/lib/admin.js +732 -0
- package/lib/client.js +679 -0
- package/lib/error.js +501 -0
- package/lib/index.js +8 -0
- package/lib/kafka-consumer-stream.js +399 -0
- package/lib/kafka-consumer.js +798 -0
- package/lib/kafkajs/_admin.js +1052 -0
- package/lib/kafkajs/_common.js +887 -0
- package/lib/kafkajs/_consumer.js +2156 -0
- package/lib/kafkajs/_consumer_cache.js +310 -0
- package/lib/kafkajs/_error.js +298 -0
- package/lib/kafkajs/_kafka.js +125 -0
- package/lib/kafkajs/_linked-list.js +220 -0
- package/lib/kafkajs/_producer.js +863 -0
- package/lib/kafkajs/index.js +5 -0
- package/lib/producer/high-level-producer.js +400 -0
- package/lib/producer-stream.js +337 -0
- package/lib/producer.js +405 -0
- package/lib/rdkafka.js +44 -0
- package/lib/tools/ref-counter.js +53 -0
- package/lib/topic-partition.js +91 -0
- package/lib/topic.js +43 -0
- package/lib/util.js +55 -0
- package/librdkafka.js +12 -0
- package/package.json +85 -0
- package/shim/source_location +54 -0
- package/src/admin.cc +1597 -0
- package/src/admin.h +112 -0
- package/src/binding.cc +76 -0
- package/src/binding.h +25 -0
- package/src/callbacks.cc +676 -0
- package/src/callbacks.h +302 -0
- package/src/common.cc +1628 -0
- package/src/common.h +192 -0
- package/src/config.cc +219 -0
- package/src/config.h +61 -0
- package/src/connection.cc +703 -0
- package/src/connection.h +117 -0
- package/src/errors.cc +119 -0
- package/src/errors.h +60 -0
- package/src/kafka-consumer.cc +1539 -0
- package/src/kafka-consumer.h +147 -0
- package/src/producer.cc +917 -0
- package/src/producer.h +124 -0
- package/src/topic.cc +173 -0
- package/src/topic.h +54 -0
- package/src/workers.cc +1714 -0
- package/src/workers.h +690 -0
- package/types/config.d.ts +1269 -0
- package/types/errors.d.ts +373 -0
- package/types/kafkajs.d.ts +568 -0
- package/types/rdkafka.d.ts +571 -0
- package/util/configure.js +32 -0
- package/util/generate-docs.sh +18 -0
- package/util/get-env.js +6 -0
- package/util/test-compile.js +11 -0
- package/util/test-producer-delivery.js +100 -0
package/src/workers.h
ADDED
|
@@ -0,0 +1,690 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* confluent-kafka-javascript - Node.js wrapper for RdKafka C/C++ library
|
|
3
|
+
*
|
|
4
|
+
* Copyright (c) 2016-2023 Blizzard Entertainment
|
|
5
|
+
* (c) 2023 Confluent, Inc.
|
|
6
|
+
*
|
|
7
|
+
* This software may be modified and distributed under the terms
|
|
8
|
+
* of the MIT license. See the LICENSE.txt file for details.
|
|
9
|
+
*/
|
|
10
|
+
|
|
11
|
+
#ifndef SRC_WORKERS_H_
|
|
12
|
+
#define SRC_WORKERS_H_
|
|
13
|
+
|
|
14
|
+
#include <uv.h>
|
|
15
|
+
#include <nan.h>
|
|
16
|
+
#include <string>
|
|
17
|
+
#include <optional>
|
|
18
|
+
#include <vector>
|
|
19
|
+
|
|
20
|
+
#include "src/common.h"
|
|
21
|
+
#include "src/producer.h"
|
|
22
|
+
#include "src/kafka-consumer.h"
|
|
23
|
+
#include "src/admin.h"
|
|
24
|
+
#include "rdkafka.h" // NOLINT
|
|
25
|
+
|
|
26
|
+
namespace NodeKafka {
|
|
27
|
+
namespace Workers {
|
|
28
|
+
|
|
29
|
+
class ErrorAwareWorker : public Nan::AsyncWorker {
|
|
30
|
+
public:
|
|
31
|
+
explicit ErrorAwareWorker(Nan::Callback* callback_) :
|
|
32
|
+
Nan::AsyncWorker(callback_),
|
|
33
|
+
m_baton(RdKafka::ERR_NO_ERROR) {}
|
|
34
|
+
virtual ~ErrorAwareWorker() {}
|
|
35
|
+
|
|
36
|
+
virtual void Execute() = 0;
|
|
37
|
+
virtual void HandleOKCallback() = 0;
|
|
38
|
+
void HandleErrorCallback() {
|
|
39
|
+
Nan::HandleScope scope;
|
|
40
|
+
|
|
41
|
+
// Construct error and add code to it.
|
|
42
|
+
v8::Local<v8::Value> error = Nan::Error(ErrorMessage());
|
|
43
|
+
Nan::Set(error.As<v8::Object>(), Nan::New("code").ToLocalChecked(),
|
|
44
|
+
Nan::New(GetErrorCode()));
|
|
45
|
+
|
|
46
|
+
const unsigned int argc = 1;
|
|
47
|
+
v8::Local<v8::Value> argv[argc] = { error };
|
|
48
|
+
|
|
49
|
+
callback->Call(argc, argv);
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
protected:
|
|
53
|
+
void SetErrorCode(const int & code) {
|
|
54
|
+
RdKafka::ErrorCode rd_err = static_cast<RdKafka::ErrorCode>(code);
|
|
55
|
+
SetErrorCode(rd_err);
|
|
56
|
+
}
|
|
57
|
+
void SetErrorCode(const RdKafka::ErrorCode & err) {
|
|
58
|
+
SetErrorBaton(Baton(err));
|
|
59
|
+
}
|
|
60
|
+
void SetErrorBaton(const NodeKafka::Baton & baton) {
|
|
61
|
+
m_baton = baton;
|
|
62
|
+
SetErrorMessage(m_baton.errstr().c_str());
|
|
63
|
+
}
|
|
64
|
+
|
|
65
|
+
int GetErrorCode() {
|
|
66
|
+
return m_baton.err();
|
|
67
|
+
}
|
|
68
|
+
|
|
69
|
+
v8::Local<v8::Object> GetErrorObject() {
|
|
70
|
+
return m_baton.ToObject();
|
|
71
|
+
}
|
|
72
|
+
|
|
73
|
+
Baton m_baton;
|
|
74
|
+
};
|
|
75
|
+
|
|
76
|
+
class MessageWorker : public ErrorAwareWorker {
|
|
77
|
+
public:
|
|
78
|
+
explicit MessageWorker(Nan::Callback* callback_)
|
|
79
|
+
: ErrorAwareWorker(callback_), m_asyncdata() {
|
|
80
|
+
m_async = new uv_async_t;
|
|
81
|
+
uv_async_init(
|
|
82
|
+
uv_default_loop(),
|
|
83
|
+
m_async,
|
|
84
|
+
m_async_message);
|
|
85
|
+
m_async->data = this;
|
|
86
|
+
|
|
87
|
+
uv_mutex_init(&m_async_lock);
|
|
88
|
+
}
|
|
89
|
+
|
|
90
|
+
virtual ~MessageWorker() {
|
|
91
|
+
uv_mutex_destroy(&m_async_lock);
|
|
92
|
+
}
|
|
93
|
+
|
|
94
|
+
void WorkMessage() {
|
|
95
|
+
if (!callback) {
|
|
96
|
+
return;
|
|
97
|
+
}
|
|
98
|
+
|
|
99
|
+
std::vector<RdKafka::Message*> message_queue;
|
|
100
|
+
std::vector<RdKafka::ErrorCode> warning_queue;
|
|
101
|
+
|
|
102
|
+
{
|
|
103
|
+
scoped_mutex_lock lock(m_async_lock);
|
|
104
|
+
// Copy the vector and empty it
|
|
105
|
+
m_asyncdata.swap(message_queue);
|
|
106
|
+
m_asyncwarning.swap(warning_queue);
|
|
107
|
+
}
|
|
108
|
+
|
|
109
|
+
for (unsigned int i = 0; i < message_queue.size(); i++) {
|
|
110
|
+
HandleMessageCallback(message_queue[i], RdKafka::ERR_NO_ERROR);
|
|
111
|
+
|
|
112
|
+
// we are done with it. it is about to go out of scope
|
|
113
|
+
// for the last time so let's just free it up here. can't rely
|
|
114
|
+
// on the destructor
|
|
115
|
+
}
|
|
116
|
+
|
|
117
|
+
for (unsigned int i = 0; i < warning_queue.size(); i++) {
|
|
118
|
+
HandleMessageCallback(NULL, warning_queue[i]);
|
|
119
|
+
}
|
|
120
|
+
}
|
|
121
|
+
|
|
122
|
+
class ExecutionMessageBus {
|
|
123
|
+
friend class MessageWorker;
|
|
124
|
+
public:
|
|
125
|
+
void Send(RdKafka::Message* m) const {
|
|
126
|
+
that_->Produce_(m);
|
|
127
|
+
}
|
|
128
|
+
void SendWarning(RdKafka::ErrorCode c) const {
|
|
129
|
+
that_->ProduceWarning_(c);
|
|
130
|
+
}
|
|
131
|
+
explicit ExecutionMessageBus(MessageWorker* that) : that_(that) {}
|
|
132
|
+
private:
|
|
133
|
+
MessageWorker* const that_;
|
|
134
|
+
};
|
|
135
|
+
|
|
136
|
+
virtual void Execute(const ExecutionMessageBus&) = 0;
|
|
137
|
+
virtual void HandleMessageCallback(RdKafka::Message*, RdKafka::ErrorCode) = 0;
|
|
138
|
+
|
|
139
|
+
virtual void Destroy() {
|
|
140
|
+
uv_close(reinterpret_cast<uv_handle_t*>(m_async), AsyncClose_);
|
|
141
|
+
}
|
|
142
|
+
|
|
143
|
+
private:
|
|
144
|
+
void Execute() {
|
|
145
|
+
ExecutionMessageBus message_bus(this);
|
|
146
|
+
Execute(message_bus);
|
|
147
|
+
}
|
|
148
|
+
|
|
149
|
+
void Produce_(RdKafka::Message* m) {
|
|
150
|
+
scoped_mutex_lock lock(m_async_lock);
|
|
151
|
+
m_asyncdata.push_back(m);
|
|
152
|
+
uv_async_send(m_async);
|
|
153
|
+
}
|
|
154
|
+
|
|
155
|
+
void ProduceWarning_(RdKafka::ErrorCode c) {
|
|
156
|
+
scoped_mutex_lock lock(m_async_lock);
|
|
157
|
+
m_asyncwarning.push_back(c);
|
|
158
|
+
uv_async_send(m_async);
|
|
159
|
+
}
|
|
160
|
+
|
|
161
|
+
NAN_INLINE static NAUV_WORK_CB(m_async_message) {
|
|
162
|
+
MessageWorker *worker = static_cast<MessageWorker*>(async->data);
|
|
163
|
+
worker->WorkMessage();
|
|
164
|
+
}
|
|
165
|
+
|
|
166
|
+
NAN_INLINE static void AsyncClose_(uv_handle_t* handle) {
|
|
167
|
+
MessageWorker *worker = static_cast<MessageWorker*>(handle->data);
|
|
168
|
+
delete reinterpret_cast<uv_async_t*>(handle);
|
|
169
|
+
delete worker;
|
|
170
|
+
}
|
|
171
|
+
|
|
172
|
+
uv_async_t *m_async;
|
|
173
|
+
uv_mutex_t m_async_lock;
|
|
174
|
+
std::vector<RdKafka::Message*> m_asyncdata;
|
|
175
|
+
std::vector<RdKafka::ErrorCode> m_asyncwarning;
|
|
176
|
+
};
|
|
177
|
+
|
|
178
|
+
namespace Handle {
|
|
179
|
+
class OffsetsForTimes : public ErrorAwareWorker {
|
|
180
|
+
public:
|
|
181
|
+
OffsetsForTimes(Nan::Callback*, NodeKafka::Connection*,
|
|
182
|
+
std::vector<RdKafka::TopicPartition*> &,
|
|
183
|
+
const int &);
|
|
184
|
+
~OffsetsForTimes();
|
|
185
|
+
|
|
186
|
+
void Execute();
|
|
187
|
+
void HandleOKCallback();
|
|
188
|
+
void HandleErrorCallback();
|
|
189
|
+
|
|
190
|
+
private:
|
|
191
|
+
NodeKafka::Connection * m_handle;
|
|
192
|
+
std::vector<RdKafka::TopicPartition*> m_topic_partitions;
|
|
193
|
+
const int m_timeout_ms;
|
|
194
|
+
};
|
|
195
|
+
} // namespace Handle
|
|
196
|
+
|
|
197
|
+
class ConnectionMetadata : public ErrorAwareWorker {
|
|
198
|
+
public:
|
|
199
|
+
ConnectionMetadata(Nan::Callback*, NodeKafka::Connection*,
|
|
200
|
+
std::string, int, bool);
|
|
201
|
+
~ConnectionMetadata();
|
|
202
|
+
|
|
203
|
+
void Execute();
|
|
204
|
+
void HandleOKCallback();
|
|
205
|
+
void HandleErrorCallback();
|
|
206
|
+
|
|
207
|
+
private:
|
|
208
|
+
NodeKafka::Connection * m_connection;
|
|
209
|
+
std::string m_topic;
|
|
210
|
+
int m_timeout_ms;
|
|
211
|
+
bool m_all_topics;
|
|
212
|
+
|
|
213
|
+
RdKafka::Metadata* m_metadata;
|
|
214
|
+
};
|
|
215
|
+
|
|
216
|
+
class ConnectionQueryWatermarkOffsets : public ErrorAwareWorker {
|
|
217
|
+
public:
|
|
218
|
+
ConnectionQueryWatermarkOffsets(Nan::Callback*, NodeKafka::Connection*,
|
|
219
|
+
std::string, int32_t, int);
|
|
220
|
+
~ConnectionQueryWatermarkOffsets();
|
|
221
|
+
|
|
222
|
+
void Execute();
|
|
223
|
+
void HandleOKCallback();
|
|
224
|
+
void HandleErrorCallback();
|
|
225
|
+
|
|
226
|
+
private:
|
|
227
|
+
NodeKafka::Connection * m_connection;
|
|
228
|
+
std::string m_topic;
|
|
229
|
+
int32_t m_partition;
|
|
230
|
+
int m_timeout_ms;
|
|
231
|
+
|
|
232
|
+
int64_t m_high_offset;
|
|
233
|
+
int64_t m_low_offset;
|
|
234
|
+
};
|
|
235
|
+
|
|
236
|
+
class ProducerConnect : public ErrorAwareWorker {
|
|
237
|
+
public:
|
|
238
|
+
ProducerConnect(Nan::Callback*, NodeKafka::Producer*);
|
|
239
|
+
~ProducerConnect();
|
|
240
|
+
|
|
241
|
+
void Execute();
|
|
242
|
+
void HandleOKCallback();
|
|
243
|
+
void HandleErrorCallback();
|
|
244
|
+
|
|
245
|
+
private:
|
|
246
|
+
NodeKafka::Producer * producer;
|
|
247
|
+
};
|
|
248
|
+
|
|
249
|
+
class ProducerDisconnect : public ErrorAwareWorker {
|
|
250
|
+
public:
|
|
251
|
+
ProducerDisconnect(Nan::Callback*, NodeKafka::Producer*);
|
|
252
|
+
~ProducerDisconnect();
|
|
253
|
+
|
|
254
|
+
void Execute();
|
|
255
|
+
void HandleOKCallback();
|
|
256
|
+
void HandleErrorCallback();
|
|
257
|
+
|
|
258
|
+
private:
|
|
259
|
+
NodeKafka::Producer * producer;
|
|
260
|
+
};
|
|
261
|
+
|
|
262
|
+
class ProducerFlush : public ErrorAwareWorker {
|
|
263
|
+
public:
|
|
264
|
+
ProducerFlush(Nan::Callback*, NodeKafka::Producer*, int);
|
|
265
|
+
~ProducerFlush();
|
|
266
|
+
|
|
267
|
+
void Execute();
|
|
268
|
+
void HandleOKCallback();
|
|
269
|
+
|
|
270
|
+
private:
|
|
271
|
+
NodeKafka::Producer * producer;
|
|
272
|
+
int timeout_ms;
|
|
273
|
+
};
|
|
274
|
+
|
|
275
|
+
class ProducerInitTransactions : public ErrorAwareWorker {
|
|
276
|
+
public:
|
|
277
|
+
ProducerInitTransactions(Nan::Callback*, NodeKafka::Producer*, const int &);
|
|
278
|
+
~ProducerInitTransactions();
|
|
279
|
+
|
|
280
|
+
void Execute();
|
|
281
|
+
void HandleOKCallback();
|
|
282
|
+
void HandleErrorCallback();
|
|
283
|
+
|
|
284
|
+
private:
|
|
285
|
+
NodeKafka::Producer * producer;
|
|
286
|
+
const int m_timeout_ms;
|
|
287
|
+
};
|
|
288
|
+
|
|
289
|
+
class ProducerBeginTransaction : public ErrorAwareWorker {
|
|
290
|
+
public:
|
|
291
|
+
ProducerBeginTransaction(Nan::Callback*, NodeKafka::Producer*);
|
|
292
|
+
~ProducerBeginTransaction();
|
|
293
|
+
|
|
294
|
+
void Execute();
|
|
295
|
+
void HandleOKCallback();
|
|
296
|
+
void HandleErrorCallback();
|
|
297
|
+
|
|
298
|
+
private:
|
|
299
|
+
NodeKafka::Producer * producer;
|
|
300
|
+
};
|
|
301
|
+
|
|
302
|
+
class ProducerCommitTransaction : public ErrorAwareWorker {
|
|
303
|
+
public:
|
|
304
|
+
ProducerCommitTransaction(Nan::Callback*, NodeKafka::Producer*, const int &);
|
|
305
|
+
~ProducerCommitTransaction();
|
|
306
|
+
|
|
307
|
+
void Execute();
|
|
308
|
+
void HandleOKCallback();
|
|
309
|
+
void HandleErrorCallback();
|
|
310
|
+
|
|
311
|
+
private:
|
|
312
|
+
NodeKafka::Producer * producer;
|
|
313
|
+
const int m_timeout_ms;
|
|
314
|
+
};
|
|
315
|
+
|
|
316
|
+
class ProducerAbortTransaction : public ErrorAwareWorker {
|
|
317
|
+
public:
|
|
318
|
+
ProducerAbortTransaction(Nan::Callback*, NodeKafka::Producer*, const int &);
|
|
319
|
+
~ProducerAbortTransaction();
|
|
320
|
+
|
|
321
|
+
void Execute();
|
|
322
|
+
void HandleOKCallback();
|
|
323
|
+
void HandleErrorCallback();
|
|
324
|
+
|
|
325
|
+
private:
|
|
326
|
+
NodeKafka::Producer * producer;
|
|
327
|
+
const int m_timeout_ms;
|
|
328
|
+
};
|
|
329
|
+
|
|
330
|
+
class ProducerSendOffsetsToTransaction : public ErrorAwareWorker {
|
|
331
|
+
public:
|
|
332
|
+
ProducerSendOffsetsToTransaction(
|
|
333
|
+
Nan::Callback*, NodeKafka::Producer*,
|
|
334
|
+
std::vector<RdKafka::TopicPartition*> &,
|
|
335
|
+
KafkaConsumer*,
|
|
336
|
+
const int &);
|
|
337
|
+
~ProducerSendOffsetsToTransaction();
|
|
338
|
+
|
|
339
|
+
void Execute();
|
|
340
|
+
void HandleOKCallback();
|
|
341
|
+
void HandleErrorCallback();
|
|
342
|
+
|
|
343
|
+
private:
|
|
344
|
+
NodeKafka::Producer * producer;
|
|
345
|
+
std::vector<RdKafka::TopicPartition*> m_topic_partitions;
|
|
346
|
+
NodeKafka::KafkaConsumer* consumer;
|
|
347
|
+
const int m_timeout_ms;
|
|
348
|
+
};
|
|
349
|
+
|
|
350
|
+
class KafkaConsumerConnect : public ErrorAwareWorker {
|
|
351
|
+
public:
|
|
352
|
+
KafkaConsumerConnect(Nan::Callback*, NodeKafka::KafkaConsumer*);
|
|
353
|
+
~KafkaConsumerConnect();
|
|
354
|
+
|
|
355
|
+
void Execute();
|
|
356
|
+
void HandleOKCallback();
|
|
357
|
+
void HandleErrorCallback();
|
|
358
|
+
|
|
359
|
+
private:
|
|
360
|
+
NodeKafka::KafkaConsumer * consumer;
|
|
361
|
+
};
|
|
362
|
+
|
|
363
|
+
class KafkaConsumerDisconnect : public ErrorAwareWorker {
|
|
364
|
+
public:
|
|
365
|
+
KafkaConsumerDisconnect(Nan::Callback*, NodeKafka::KafkaConsumer*);
|
|
366
|
+
~KafkaConsumerDisconnect();
|
|
367
|
+
|
|
368
|
+
void Execute();
|
|
369
|
+
void HandleOKCallback();
|
|
370
|
+
void HandleErrorCallback();
|
|
371
|
+
|
|
372
|
+
private:
|
|
373
|
+
NodeKafka::KafkaConsumer * consumer;
|
|
374
|
+
};
|
|
375
|
+
|
|
376
|
+
class KafkaConsumerConsumeLoop : public MessageWorker {
|
|
377
|
+
public:
|
|
378
|
+
KafkaConsumerConsumeLoop(Nan::Callback*,
|
|
379
|
+
NodeKafka::KafkaConsumer*, const int &, const int &);
|
|
380
|
+
~KafkaConsumerConsumeLoop();
|
|
381
|
+
|
|
382
|
+
static void ConsumeLoop(void *arg);
|
|
383
|
+
void Close();
|
|
384
|
+
void Execute(const ExecutionMessageBus&);
|
|
385
|
+
void HandleOKCallback();
|
|
386
|
+
void HandleErrorCallback();
|
|
387
|
+
void HandleMessageCallback(RdKafka::Message*, RdKafka::ErrorCode);
|
|
388
|
+
private:
|
|
389
|
+
uv_thread_t thread_event_loop;
|
|
390
|
+
NodeKafka::KafkaConsumer* consumer;
|
|
391
|
+
const int m_timeout_ms;
|
|
392
|
+
unsigned int m_rand_seed;
|
|
393
|
+
const int m_timeout_sleep_delay_ms;
|
|
394
|
+
bool m_looping;
|
|
395
|
+
};
|
|
396
|
+
|
|
397
|
+
class KafkaConsumerConsume : public ErrorAwareWorker {
|
|
398
|
+
public:
|
|
399
|
+
KafkaConsumerConsume(Nan::Callback*, NodeKafka::KafkaConsumer*, const int &);
|
|
400
|
+
~KafkaConsumerConsume();
|
|
401
|
+
|
|
402
|
+
void Execute();
|
|
403
|
+
void HandleOKCallback();
|
|
404
|
+
void HandleErrorCallback();
|
|
405
|
+
private:
|
|
406
|
+
NodeKafka::KafkaConsumer * consumer;
|
|
407
|
+
const int m_timeout_ms;
|
|
408
|
+
RdKafka::Message* m_message;
|
|
409
|
+
};
|
|
410
|
+
|
|
411
|
+
class KafkaConsumerCommitted : public ErrorAwareWorker {
|
|
412
|
+
public:
|
|
413
|
+
KafkaConsumerCommitted(Nan::Callback*,
|
|
414
|
+
NodeKafka::KafkaConsumer*, std::vector<RdKafka::TopicPartition*> &,
|
|
415
|
+
const int &);
|
|
416
|
+
~KafkaConsumerCommitted();
|
|
417
|
+
|
|
418
|
+
void Execute();
|
|
419
|
+
void HandleOKCallback();
|
|
420
|
+
void HandleErrorCallback();
|
|
421
|
+
private:
|
|
422
|
+
NodeKafka::KafkaConsumer * m_consumer;
|
|
423
|
+
std::vector<RdKafka::TopicPartition*> m_topic_partitions;
|
|
424
|
+
const int m_timeout_ms;
|
|
425
|
+
};
|
|
426
|
+
|
|
427
|
+
class KafkaConsumerCommitCb : public ErrorAwareWorker {
|
|
428
|
+
public:
|
|
429
|
+
KafkaConsumerCommitCb(Nan::Callback*,
|
|
430
|
+
NodeKafka::KafkaConsumer*,
|
|
431
|
+
std::optional<std::vector<RdKafka::TopicPartition*>> &);
|
|
432
|
+
~KafkaConsumerCommitCb();
|
|
433
|
+
|
|
434
|
+
void Execute();
|
|
435
|
+
void HandleOKCallback();
|
|
436
|
+
void HandleErrorCallback();
|
|
437
|
+
private:
|
|
438
|
+
NodeKafka::KafkaConsumer * m_consumer;
|
|
439
|
+
std::optional<std::vector<RdKafka::TopicPartition*>> m_topic_partitions;
|
|
440
|
+
};
|
|
441
|
+
|
|
442
|
+
class KafkaConsumerSeek : public ErrorAwareWorker {
|
|
443
|
+
public:
|
|
444
|
+
KafkaConsumerSeek(Nan::Callback*, NodeKafka::KafkaConsumer*,
|
|
445
|
+
const RdKafka::TopicPartition *, const int &);
|
|
446
|
+
~KafkaConsumerSeek();
|
|
447
|
+
|
|
448
|
+
void Execute();
|
|
449
|
+
void HandleOKCallback();
|
|
450
|
+
void HandleErrorCallback();
|
|
451
|
+
private:
|
|
452
|
+
NodeKafka::KafkaConsumer * m_consumer;
|
|
453
|
+
const RdKafka::TopicPartition * m_toppar;
|
|
454
|
+
const int m_timeout_ms;
|
|
455
|
+
};
|
|
456
|
+
|
|
457
|
+
class KafkaConsumerConsumeNum : public ErrorAwareWorker {
|
|
458
|
+
public:
|
|
459
|
+
KafkaConsumerConsumeNum(Nan::Callback*, NodeKafka::KafkaConsumer*,
|
|
460
|
+
const uint32_t &, const int &, bool);
|
|
461
|
+
~KafkaConsumerConsumeNum();
|
|
462
|
+
|
|
463
|
+
void Execute();
|
|
464
|
+
void HandleOKCallback();
|
|
465
|
+
void HandleErrorCallback();
|
|
466
|
+
private:
|
|
467
|
+
NodeKafka::KafkaConsumer * m_consumer;
|
|
468
|
+
const uint32_t m_num_messages;
|
|
469
|
+
const int m_timeout_ms;
|
|
470
|
+
const bool m_timeout_only_for_first_message;
|
|
471
|
+
std::vector<RdKafka::Message*> m_messages;
|
|
472
|
+
};
|
|
473
|
+
|
|
474
|
+
/**
|
|
475
|
+
* @brief Create a kafka topic on a remote broker cluster
|
|
476
|
+
*/
|
|
477
|
+
class AdminClientCreateTopic : public ErrorAwareWorker {
|
|
478
|
+
public:
|
|
479
|
+
AdminClientCreateTopic(Nan::Callback*, NodeKafka::AdminClient*,
|
|
480
|
+
rd_kafka_NewTopic_t*, const int &);
|
|
481
|
+
~AdminClientCreateTopic();
|
|
482
|
+
|
|
483
|
+
void Execute();
|
|
484
|
+
void HandleOKCallback();
|
|
485
|
+
void HandleErrorCallback();
|
|
486
|
+
private:
|
|
487
|
+
NodeKafka::AdminClient * m_client;
|
|
488
|
+
rd_kafka_NewTopic_t* m_topic;
|
|
489
|
+
const int m_timeout_ms;
|
|
490
|
+
};
|
|
491
|
+
|
|
492
|
+
/**
|
|
493
|
+
* @brief Delete a kafka topic on a remote broker cluster
|
|
494
|
+
*/
|
|
495
|
+
class AdminClientDeleteTopic : public ErrorAwareWorker {
|
|
496
|
+
public:
|
|
497
|
+
AdminClientDeleteTopic(Nan::Callback*, NodeKafka::AdminClient*,
|
|
498
|
+
rd_kafka_DeleteTopic_t*, const int &);
|
|
499
|
+
~AdminClientDeleteTopic();
|
|
500
|
+
|
|
501
|
+
void Execute();
|
|
502
|
+
void HandleOKCallback();
|
|
503
|
+
void HandleErrorCallback();
|
|
504
|
+
private:
|
|
505
|
+
NodeKafka::AdminClient * m_client;
|
|
506
|
+
rd_kafka_DeleteTopic_t* m_topic;
|
|
507
|
+
const int m_timeout_ms;
|
|
508
|
+
};
|
|
509
|
+
|
|
510
|
+
/**
|
|
511
|
+
* @brief Delete a kafka topic on a remote broker cluster
|
|
512
|
+
*/
|
|
513
|
+
class AdminClientCreatePartitions : public ErrorAwareWorker {
|
|
514
|
+
public:
|
|
515
|
+
AdminClientCreatePartitions(Nan::Callback*, NodeKafka::AdminClient*,
|
|
516
|
+
rd_kafka_NewPartitions_t*, const int &);
|
|
517
|
+
~AdminClientCreatePartitions();
|
|
518
|
+
|
|
519
|
+
void Execute();
|
|
520
|
+
void HandleOKCallback();
|
|
521
|
+
void HandleErrorCallback();
|
|
522
|
+
private:
|
|
523
|
+
NodeKafka::AdminClient * m_client;
|
|
524
|
+
rd_kafka_NewPartitions_t* m_partitions;
|
|
525
|
+
const int m_timeout_ms;
|
|
526
|
+
};
|
|
527
|
+
|
|
528
|
+
/**
|
|
529
|
+
* @brief List consumer groups on a remote broker cluster.
|
|
530
|
+
*/
|
|
531
|
+
class AdminClientListGroups : public ErrorAwareWorker {
|
|
532
|
+
public:
|
|
533
|
+
AdminClientListGroups(Nan::Callback *, NodeKafka::AdminClient *, bool,
|
|
534
|
+
std::vector<rd_kafka_consumer_group_state_t> &,
|
|
535
|
+
bool,
|
|
536
|
+
std::vector<rd_kafka_consumer_group_type_t> &,
|
|
537
|
+
const int &);
|
|
538
|
+
~AdminClientListGroups();
|
|
539
|
+
|
|
540
|
+
void Execute();
|
|
541
|
+
void HandleOKCallback();
|
|
542
|
+
void HandleErrorCallback();
|
|
543
|
+
|
|
544
|
+
private:
|
|
545
|
+
NodeKafka::AdminClient *m_client;
|
|
546
|
+
const bool m_is_match_states_set;
|
|
547
|
+
std::vector<rd_kafka_consumer_group_state_t> m_match_states;
|
|
548
|
+
const bool m_is_match_types_set;
|
|
549
|
+
std::vector<rd_kafka_consumer_group_type_t> m_match_types;
|
|
550
|
+
const int m_timeout_ms;
|
|
551
|
+
rd_kafka_event_t *m_event_response;
|
|
552
|
+
};
|
|
553
|
+
|
|
554
|
+
/**
|
|
555
|
+
* @brief Describe consumer groups on a remote broker cluster.
|
|
556
|
+
*/
|
|
557
|
+
class AdminClientDescribeGroups : public ErrorAwareWorker {
|
|
558
|
+
public:
|
|
559
|
+
AdminClientDescribeGroups(Nan::Callback *, NodeKafka::AdminClient *,
|
|
560
|
+
std::vector<std::string> &, bool, const int &);
|
|
561
|
+
~AdminClientDescribeGroups();
|
|
562
|
+
|
|
563
|
+
void Execute();
|
|
564
|
+
void HandleOKCallback();
|
|
565
|
+
void HandleErrorCallback();
|
|
566
|
+
|
|
567
|
+
private:
|
|
568
|
+
NodeKafka::AdminClient *m_client;
|
|
569
|
+
std::vector<std::string> m_groups;
|
|
570
|
+
const bool m_include_authorized_operations;
|
|
571
|
+
const int m_timeout_ms;
|
|
572
|
+
rd_kafka_event_t *m_event_response;
|
|
573
|
+
};
|
|
574
|
+
|
|
575
|
+
/**
|
|
576
|
+
* @brief Delete consumer groups on a remote broker cluster.
|
|
577
|
+
*/
|
|
578
|
+
class AdminClientDeleteGroups : public ErrorAwareWorker {
|
|
579
|
+
public:
|
|
580
|
+
AdminClientDeleteGroups(Nan::Callback *, NodeKafka::AdminClient *,
|
|
581
|
+
rd_kafka_DeleteGroup_t **, size_t, const int &);
|
|
582
|
+
~AdminClientDeleteGroups();
|
|
583
|
+
|
|
584
|
+
void Execute();
|
|
585
|
+
void HandleOKCallback();
|
|
586
|
+
void HandleErrorCallback();
|
|
587
|
+
|
|
588
|
+
private:
|
|
589
|
+
NodeKafka::AdminClient *m_client;
|
|
590
|
+
rd_kafka_DeleteGroup_t **m_group_list;
|
|
591
|
+
size_t m_group_cnt;
|
|
592
|
+
const int m_timeout_ms;
|
|
593
|
+
rd_kafka_event_t *m_event_response;
|
|
594
|
+
};
|
|
595
|
+
|
|
596
|
+
/**
|
|
597
|
+
* @brief List consumer group offsets on a remote broker cluster.
|
|
598
|
+
*/
|
|
599
|
+
class AdminClientListConsumerGroupOffsets : public ErrorAwareWorker {
|
|
600
|
+
public:
|
|
601
|
+
AdminClientListConsumerGroupOffsets(Nan::Callback *, NodeKafka::AdminClient *,
|
|
602
|
+
rd_kafka_ListConsumerGroupOffsets_t **, size_t, bool,
|
|
603
|
+
const int &);
|
|
604
|
+
~AdminClientListConsumerGroupOffsets();
|
|
605
|
+
|
|
606
|
+
void Execute();
|
|
607
|
+
void HandleOKCallback();
|
|
608
|
+
void HandleErrorCallback();
|
|
609
|
+
|
|
610
|
+
private:
|
|
611
|
+
NodeKafka::AdminClient *m_client;
|
|
612
|
+
rd_kafka_ListConsumerGroupOffsets_t **m_req;
|
|
613
|
+
size_t m_req_cnt;
|
|
614
|
+
const bool m_require_stable_offsets;
|
|
615
|
+
const int m_timeout_ms;
|
|
616
|
+
rd_kafka_event_t *m_event_response;
|
|
617
|
+
};
|
|
618
|
+
|
|
619
|
+
/**
|
|
620
|
+
* @brief Delete Records on a remote broker cluster.
|
|
621
|
+
*/
|
|
622
|
+
class AdminClientDeleteRecords : public ErrorAwareWorker {
|
|
623
|
+
public:
|
|
624
|
+
AdminClientDeleteRecords(Nan::Callback *, NodeKafka::AdminClient *,
|
|
625
|
+
rd_kafka_DeleteRecords_t **, size_t, const int &,
|
|
626
|
+
const int &);
|
|
627
|
+
~AdminClientDeleteRecords();
|
|
628
|
+
|
|
629
|
+
void Execute();
|
|
630
|
+
void HandleOKCallback();
|
|
631
|
+
void HandleErrorCallback();
|
|
632
|
+
|
|
633
|
+
private:
|
|
634
|
+
NodeKafka::AdminClient *m_client;
|
|
635
|
+
rd_kafka_DeleteRecords_t **m_del_records;
|
|
636
|
+
size_t m_del_records_cnt;
|
|
637
|
+
const int m_operation_timeout_ms;
|
|
638
|
+
const int m_timeout_ms;
|
|
639
|
+
rd_kafka_event_t *m_event_response;
|
|
640
|
+
};
|
|
641
|
+
|
|
642
|
+
/**
|
|
643
|
+
* @brief Describe Topics on a remote broker cluster.
|
|
644
|
+
*/
|
|
645
|
+
class AdminClientDescribeTopics : public ErrorAwareWorker {
|
|
646
|
+
public:
|
|
647
|
+
AdminClientDescribeTopics(Nan::Callback *, NodeKafka::AdminClient *,
|
|
648
|
+
rd_kafka_TopicCollection_t *, const bool,
|
|
649
|
+
const int &);
|
|
650
|
+
~AdminClientDescribeTopics();
|
|
651
|
+
|
|
652
|
+
void Execute();
|
|
653
|
+
void HandleOKCallback();
|
|
654
|
+
void HandleErrorCallback();
|
|
655
|
+
|
|
656
|
+
private:
|
|
657
|
+
NodeKafka::AdminClient *m_client;
|
|
658
|
+
rd_kafka_TopicCollection_t *m_topics;
|
|
659
|
+
const bool m_include_authorized_operations;
|
|
660
|
+
const int m_timeout_ms;
|
|
661
|
+
rd_kafka_event_t *m_event_response;
|
|
662
|
+
};
|
|
663
|
+
|
|
664
|
+
/**
|
|
665
|
+
* @brief List Offsets on a remote broker cluster.
|
|
666
|
+
*/
|
|
667
|
+
class AdminClientListOffsets : public ErrorAwareWorker {
|
|
668
|
+
public:
|
|
669
|
+
AdminClientListOffsets(Nan::Callback *, NodeKafka::AdminClient *,
|
|
670
|
+
rd_kafka_topic_partition_list_t *, const int &,
|
|
671
|
+
rd_kafka_IsolationLevel_t);
|
|
672
|
+
~AdminClientListOffsets();
|
|
673
|
+
|
|
674
|
+
void Execute();
|
|
675
|
+
void HandleOKCallback();
|
|
676
|
+
void HandleErrorCallback();
|
|
677
|
+
|
|
678
|
+
private:
|
|
679
|
+
NodeKafka::AdminClient *m_client;
|
|
680
|
+
rd_kafka_topic_partition_list_t *m_partitions;
|
|
681
|
+
const int m_timeout_ms;
|
|
682
|
+
const rd_kafka_IsolationLevel_t m_isolation_level;
|
|
683
|
+
rd_kafka_event_t *m_event_response;
|
|
684
|
+
};
|
|
685
|
+
|
|
686
|
+
} // namespace Workers
|
|
687
|
+
|
|
688
|
+
} // namespace NodeKafka
|
|
689
|
+
|
|
690
|
+
#endif // SRC_WORKERS_H_
|