@point3/node-rdkafka 3.6.0-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/LICENSE.txt +20 -0
- package/README.md +636 -0
- package/binding.gyp +154 -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 +33 -0
- package/deps/librdkafka/.gdbmacros +19 -0
- package/deps/librdkafka/.github/CODEOWNERS +1 -0
- package/deps/librdkafka/.github/ISSUE_TEMPLATE +34 -0
- package/deps/librdkafka/.semaphore/run-all-tests.yml +77 -0
- package/deps/librdkafka/.semaphore/semaphore-integration.yml +250 -0
- package/deps/librdkafka/.semaphore/semaphore.yml +378 -0
- package/deps/librdkafka/.semaphore/verify-linux-packages.yml +41 -0
- package/deps/librdkafka/CHANGELOG.md +2208 -0
- package/deps/librdkafka/CMakeLists.txt +291 -0
- package/deps/librdkafka/CODE_OF_CONDUCT.md +46 -0
- package/deps/librdkafka/CONFIGURATION.md +209 -0
- package/deps/librdkafka/CONTRIBUTING.md +431 -0
- package/deps/librdkafka/Doxyfile +2375 -0
- package/deps/librdkafka/INTRODUCTION.md +2481 -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 +199 -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 +331 -0
- package/deps/librdkafka/debian/changelog +111 -0
- package/deps/librdkafka/debian/compat +1 -0
- package/deps/librdkafka/debian/control +71 -0
- package/deps/librdkafka/debian/copyright +99 -0
- package/deps/librdkafka/debian/gbp.conf +9 -0
- package/deps/librdkafka/debian/librdkafka++1.install +1 -0
- package/deps/librdkafka/debian/librdkafka-dev.examples +2 -0
- package/deps/librdkafka/debian/librdkafka-dev.install +9 -0
- package/deps/librdkafka/debian/librdkafka1.docs +5 -0
- package/deps/librdkafka/debian/librdkafka1.install +1 -0
- package/deps/librdkafka/debian/librdkafka1.symbols +135 -0
- package/deps/librdkafka/debian/rules +19 -0
- package/deps/librdkafka/debian/source/format +1 -0
- package/deps/librdkafka/debian/watch +2 -0
- package/deps/librdkafka/dev-conf.sh +123 -0
- package/deps/librdkafka/examples/CMakeLists.txt +79 -0
- package/deps/librdkafka/examples/Makefile +167 -0
- package/deps/librdkafka/examples/README.md +42 -0
- package/deps/librdkafka/examples/alter_consumer_group_offsets.c +338 -0
- package/deps/librdkafka/examples/consumer.c +271 -0
- package/deps/librdkafka/examples/delete_records.c +233 -0
- package/deps/librdkafka/examples/describe_cluster.c +322 -0
- package/deps/librdkafka/examples/describe_consumer_groups.c +455 -0
- package/deps/librdkafka/examples/describe_topics.c +427 -0
- package/deps/librdkafka/examples/elect_leaders.c +317 -0
- package/deps/librdkafka/examples/globals.json +11 -0
- package/deps/librdkafka/examples/idempotent_producer.c +344 -0
- package/deps/librdkafka/examples/incremental_alter_configs.c +347 -0
- package/deps/librdkafka/examples/kafkatest_verifiable_client.cpp +945 -0
- package/deps/librdkafka/examples/list_consumer_group_offsets.c +359 -0
- package/deps/librdkafka/examples/list_consumer_groups.c +365 -0
- package/deps/librdkafka/examples/list_offsets.c +327 -0
- package/deps/librdkafka/examples/misc.c +287 -0
- package/deps/librdkafka/examples/openssl_engine_example.cpp +248 -0
- package/deps/librdkafka/examples/producer.c +251 -0
- package/deps/librdkafka/examples/producer.cpp +228 -0
- package/deps/librdkafka/examples/rdkafka_complex_consumer_example.c +617 -0
- package/deps/librdkafka/examples/rdkafka_complex_consumer_example.cpp +467 -0
- package/deps/librdkafka/examples/rdkafka_consume_batch.cpp +264 -0
- package/deps/librdkafka/examples/rdkafka_example.c +853 -0
- package/deps/librdkafka/examples/rdkafka_example.cpp +679 -0
- package/deps/librdkafka/examples/rdkafka_performance.c +1781 -0
- package/deps/librdkafka/examples/transactions-older-broker.c +668 -0
- package/deps/librdkafka/examples/transactions.c +665 -0
- package/deps/librdkafka/examples/user_scram.c +491 -0
- package/deps/librdkafka/examples/win_ssl_cert_store.cpp +396 -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/packaging/RELEASE.md +319 -0
- package/deps/librdkafka/packaging/alpine/build-alpine.sh +38 -0
- package/deps/librdkafka/packaging/archlinux/PKGBUILD +30 -0
- package/deps/librdkafka/packaging/cmake/Config.cmake.in +37 -0
- package/deps/librdkafka/packaging/cmake/Modules/FindLZ4.cmake +38 -0
- package/deps/librdkafka/packaging/cmake/Modules/FindZSTD.cmake +27 -0
- package/deps/librdkafka/packaging/cmake/Modules/LICENSE.FindZstd +178 -0
- package/deps/librdkafka/packaging/cmake/README.md +38 -0
- package/deps/librdkafka/packaging/cmake/config.h.in +52 -0
- package/deps/librdkafka/packaging/cmake/parseversion.cmake +60 -0
- package/deps/librdkafka/packaging/cmake/rdkafka.pc.in +12 -0
- package/deps/librdkafka/packaging/cmake/try_compile/atomic_32_test.c +8 -0
- package/deps/librdkafka/packaging/cmake/try_compile/atomic_64_test.c +8 -0
- package/deps/librdkafka/packaging/cmake/try_compile/c11threads_test.c +14 -0
- package/deps/librdkafka/packaging/cmake/try_compile/crc32c_hw_test.c +27 -0
- package/deps/librdkafka/packaging/cmake/try_compile/dlopen_test.c +11 -0
- package/deps/librdkafka/packaging/cmake/try_compile/libsasl2_test.c +7 -0
- package/deps/librdkafka/packaging/cmake/try_compile/pthread_setname_darwin_test.c +6 -0
- package/deps/librdkafka/packaging/cmake/try_compile/pthread_setname_freebsd_test.c +7 -0
- package/deps/librdkafka/packaging/cmake/try_compile/pthread_setname_gnu_test.c +5 -0
- package/deps/librdkafka/packaging/cmake/try_compile/rand_r_test.c +7 -0
- package/deps/librdkafka/packaging/cmake/try_compile/rdkafka_setup.cmake +122 -0
- package/deps/librdkafka/packaging/cmake/try_compile/regex_test.c +10 -0
- package/deps/librdkafka/packaging/cmake/try_compile/strndup_test.c +5 -0
- package/deps/librdkafka/packaging/cmake/try_compile/sync_32_test.c +8 -0
- package/deps/librdkafka/packaging/cmake/try_compile/sync_64_test.c +8 -0
- package/deps/librdkafka/packaging/cp/README.md +16 -0
- package/deps/librdkafka/packaging/cp/check_features.c +72 -0
- package/deps/librdkafka/packaging/cp/verify-deb.sh +33 -0
- package/deps/librdkafka/packaging/cp/verify-packages.sh +69 -0
- package/deps/librdkafka/packaging/cp/verify-rpm.sh +32 -0
- package/deps/librdkafka/packaging/debian/changelog +66 -0
- package/deps/librdkafka/packaging/debian/compat +1 -0
- package/deps/librdkafka/packaging/debian/control +49 -0
- package/deps/librdkafka/packaging/debian/copyright +84 -0
- package/deps/librdkafka/packaging/debian/docs +5 -0
- package/deps/librdkafka/packaging/debian/gbp.conf +9 -0
- package/deps/librdkafka/packaging/debian/librdkafka-dev.dirs +2 -0
- package/deps/librdkafka/packaging/debian/librdkafka-dev.examples +2 -0
- package/deps/librdkafka/packaging/debian/librdkafka-dev.install +6 -0
- package/deps/librdkafka/packaging/debian/librdkafka-dev.substvars +1 -0
- package/deps/librdkafka/packaging/debian/librdkafka.dsc +16 -0
- package/deps/librdkafka/packaging/debian/librdkafka1-dbg.substvars +1 -0
- package/deps/librdkafka/packaging/debian/librdkafka1.dirs +1 -0
- package/deps/librdkafka/packaging/debian/librdkafka1.install +2 -0
- package/deps/librdkafka/packaging/debian/librdkafka1.postinst.debhelper +5 -0
- package/deps/librdkafka/packaging/debian/librdkafka1.postrm.debhelper +5 -0
- package/deps/librdkafka/packaging/debian/librdkafka1.symbols +64 -0
- package/deps/librdkafka/packaging/debian/rules +19 -0
- package/deps/librdkafka/packaging/debian/source/format +1 -0
- package/deps/librdkafka/packaging/debian/watch +2 -0
- package/deps/librdkafka/packaging/get_version.py +21 -0
- package/deps/librdkafka/packaging/homebrew/README.md +15 -0
- package/deps/librdkafka/packaging/homebrew/brew-update-pr.sh +31 -0
- package/deps/librdkafka/packaging/mingw-w64/configure-build-msys2-mingw-static.sh +52 -0
- package/deps/librdkafka/packaging/mingw-w64/configure-build-msys2-mingw.sh +21 -0
- package/deps/librdkafka/packaging/mingw-w64/export-variables.sh +13 -0
- package/deps/librdkafka/packaging/mingw-w64/run-tests.sh +6 -0
- package/deps/librdkafka/packaging/mingw-w64/semaphoreci-build.sh +38 -0
- package/deps/librdkafka/packaging/nuget/README.md +84 -0
- package/deps/librdkafka/packaging/nuget/artifact.py +177 -0
- package/deps/librdkafka/packaging/nuget/cleanup-s3.py +143 -0
- package/deps/librdkafka/packaging/nuget/common/p-common__plat-windows__arch-win32__bldtype-Release/msvcr120.zip +0 -0
- package/deps/librdkafka/packaging/nuget/common/p-common__plat-windows__arch-win32__bldtype-Release/msvcr140.zip +0 -0
- package/deps/librdkafka/packaging/nuget/common/p-common__plat-windows__arch-x64__bldtype-Release/msvcr120.zip +0 -0
- package/deps/librdkafka/packaging/nuget/common/p-common__plat-windows__arch-x64__bldtype-Release/msvcr140.zip +0 -0
- package/deps/librdkafka/packaging/nuget/nuget.sh +21 -0
- package/deps/librdkafka/packaging/nuget/nugetpackage.py +278 -0
- package/deps/librdkafka/packaging/nuget/packaging.py +448 -0
- package/deps/librdkafka/packaging/nuget/push-to-nuget.sh +21 -0
- package/deps/librdkafka/packaging/nuget/release.py +167 -0
- package/deps/librdkafka/packaging/nuget/requirements.txt +3 -0
- package/deps/librdkafka/packaging/nuget/staticpackage.py +178 -0
- package/deps/librdkafka/packaging/nuget/templates/librdkafka.redist.nuspec +21 -0
- package/deps/librdkafka/packaging/nuget/templates/librdkafka.redist.props +18 -0
- package/deps/librdkafka/packaging/nuget/templates/librdkafka.redist.targets +19 -0
- package/deps/librdkafka/packaging/nuget/zfile/__init__.py +0 -0
- package/deps/librdkafka/packaging/nuget/zfile/zfile.py +98 -0
- package/deps/librdkafka/packaging/rpm/Makefile +92 -0
- package/deps/librdkafka/packaging/rpm/README.md +23 -0
- package/deps/librdkafka/packaging/rpm/el7-x86_64.cfg +40 -0
- package/deps/librdkafka/packaging/rpm/librdkafka.spec +118 -0
- package/deps/librdkafka/packaging/rpm/mock-on-docker.sh +96 -0
- package/deps/librdkafka/packaging/rpm/tests/Makefile +25 -0
- package/deps/librdkafka/packaging/rpm/tests/README.md +8 -0
- package/deps/librdkafka/packaging/rpm/tests/run-test.sh +42 -0
- package/deps/librdkafka/packaging/rpm/tests/test-on-docker.sh +56 -0
- package/deps/librdkafka/packaging/rpm/tests/test.c +77 -0
- package/deps/librdkafka/packaging/rpm/tests/test.cpp +34 -0
- package/deps/librdkafka/packaging/tools/Dockerfile +31 -0
- package/deps/librdkafka/packaging/tools/build-configurations-checks.sh +12 -0
- package/deps/librdkafka/packaging/tools/build-deb-package.sh +64 -0
- package/deps/librdkafka/packaging/tools/build-debian.sh +65 -0
- package/deps/librdkafka/packaging/tools/build-manylinux.sh +68 -0
- package/deps/librdkafka/packaging/tools/build-release-artifacts.sh +139 -0
- package/deps/librdkafka/packaging/tools/distro-build.sh +38 -0
- package/deps/librdkafka/packaging/tools/gh-release-checksums.py +39 -0
- package/deps/librdkafka/packaging/tools/rdutcoverage.sh +25 -0
- package/deps/librdkafka/packaging/tools/requirements.txt +2 -0
- package/deps/librdkafka/packaging/tools/run-in-docker.sh +28 -0
- package/deps/librdkafka/packaging/tools/run-integration-tests.sh +31 -0
- package/deps/librdkafka/packaging/tools/run-style-check.sh +4 -0
- package/deps/librdkafka/packaging/tools/style-format.sh +149 -0
- package/deps/librdkafka/packaging/tools/update_rpcs_max_versions.py +100 -0
- package/deps/librdkafka/service.yml +172 -0
- package/deps/librdkafka/src/CMakeLists.txt +374 -0
- package/deps/librdkafka/src/Makefile +103 -0
- package/deps/librdkafka/src/README.lz4.md +30 -0
- package/deps/librdkafka/src/cJSON.c +2834 -0
- package/deps/librdkafka/src/cJSON.h +398 -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 +584 -0
- package/deps/librdkafka/src/rdaddr.c +255 -0
- package/deps/librdkafka/src/rdaddr.h +202 -0
- package/deps/librdkafka/src/rdatomic.h +230 -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 +830 -0
- package/deps/librdkafka/src/rdhttp.h +101 -0
- package/deps/librdkafka/src/rdinterval.h +177 -0
- package/deps/librdkafka/src/rdkafka.c +5505 -0
- package/deps/librdkafka/src/rdkafka.h +10686 -0
- package/deps/librdkafka/src/rdkafka_admin.c +9794 -0
- package/deps/librdkafka/src/rdkafka_admin.h +661 -0
- package/deps/librdkafka/src/rdkafka_assignment.c +1010 -0
- package/deps/librdkafka/src/rdkafka_assignment.h +73 -0
- package/deps/librdkafka/src/rdkafka_assignor.c +1786 -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 +221 -0
- package/deps/librdkafka/src/rdkafka_broker.c +6337 -0
- package/deps/librdkafka/src/rdkafka_broker.h +744 -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 +7587 -0
- package/deps/librdkafka/src/rdkafka_cgrp.h +477 -0
- package/deps/librdkafka/src/rdkafka_conf.c +4880 -0
- package/deps/librdkafka/src/rdkafka_conf.h +732 -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 +1422 -0
- package/deps/librdkafka/src/rdkafka_fetcher.h +44 -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 +1260 -0
- package/deps/librdkafka/src/rdkafka_interceptor.c +819 -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 +2209 -0
- package/deps/librdkafka/src/rdkafka_metadata.h +345 -0
- package/deps/librdkafka/src/rdkafka_metadata_cache.c +1183 -0
- package/deps/librdkafka/src/rdkafka_mock.c +3661 -0
- package/deps/librdkafka/src/rdkafka_mock.h +610 -0
- package/deps/librdkafka/src/rdkafka_mock_cgrp.c +1876 -0
- package/deps/librdkafka/src/rdkafka_mock_handlers.c +3113 -0
- package/deps/librdkafka/src/rdkafka_mock_int.h +710 -0
- package/deps/librdkafka/src/rdkafka_msg.c +2589 -0
- package/deps/librdkafka/src/rdkafka_msg.h +614 -0
- package/deps/librdkafka/src/rdkafka_msgbatch.h +62 -0
- package/deps/librdkafka/src/rdkafka_msgset.h +98 -0
- package/deps/librdkafka/src/rdkafka_msgset_reader.c +1806 -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 +997 -0
- package/deps/librdkafka/src/rdkafka_op.h +858 -0
- package/deps/librdkafka/src/rdkafka_partition.c +4896 -0
- package/deps/librdkafka/src/rdkafka_partition.h +1182 -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 +736 -0
- package/deps/librdkafka/src/rdkafka_protocol.h +128 -0
- package/deps/librdkafka/src/rdkafka_queue.c +1230 -0
- package/deps/librdkafka/src/rdkafka_queue.h +1220 -0
- package/deps/librdkafka/src/rdkafka_range_assignor.c +1748 -0
- package/deps/librdkafka/src/rdkafka_request.c +7089 -0
- package/deps/librdkafka/src/rdkafka_request.h +732 -0
- package/deps/librdkafka/src/rdkafka_roundrobin_assignor.c +123 -0
- package/deps/librdkafka/src/rdkafka_sasl.c +530 -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 +1666 -0
- package/deps/librdkafka/src/rdkafka_sasl_oauthbearer_oidc.h +47 -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_ssl.c +2129 -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 +278 -0
- package/deps/librdkafka/src/rdkafka_telemetry.c +760 -0
- package/deps/librdkafka/src/rdkafka_telemetry.h +52 -0
- package/deps/librdkafka/src/rdkafka_telemetry_decode.c +1053 -0
- package/deps/librdkafka/src/rdkafka_telemetry_decode.h +59 -0
- package/deps/librdkafka/src/rdkafka_telemetry_encode.c +997 -0
- package/deps/librdkafka/src/rdkafka_telemetry_encode.h +301 -0
- package/deps/librdkafka/src/rdkafka_timer.c +402 -0
- package/deps/librdkafka/src/rdkafka_timer.h +117 -0
- package/deps/librdkafka/src/rdkafka_topic.c +2161 -0
- package/deps/librdkafka/src/rdkafka_topic.h +334 -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 +576 -0
- package/deps/librdkafka/src/rdlist.h +434 -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 +80 -0
- package/deps/librdkafka/src/rdrand.h +43 -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 +549 -0
- package/deps/librdkafka/src/rdunittest.h +232 -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 +199 -0
- package/deps/librdkafka/src/tinycthread_extra.h +212 -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 +97 -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 +338 -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 +279 -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 +481 -0
- package/deps/librdkafka/tests/0065-yield.cpp +140 -0
- package/deps/librdkafka/tests/0066-plugins.cpp +129 -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 +363 -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 +658 -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 +528 -0
- package/deps/librdkafka/tests/0127-fetch_queue_backoff.cpp +165 -0
- package/deps/librdkafka/tests/0128-sasl_callback_queue.cpp +125 -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 +143 -0
- package/deps/librdkafka/tests/0136-resolve_cb.c +181 -0
- package/deps/librdkafka/tests/0137-barrier_batch_consume.c +619 -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 +515 -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 +952 -0
- package/deps/librdkafka/tests/0148-offset_fetch_commit_error_mock.c +563 -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/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 +170 -0
- package/deps/librdkafka/tests/LibrdkafkaTestApp.py +291 -0
- package/deps/librdkafka/tests/Makefile +182 -0
- package/deps/librdkafka/tests/README.md +509 -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 +191 -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 +79 -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 +140 -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/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 +7778 -0
- package/deps/librdkafka/tests/test.conf.example +27 -0
- package/deps/librdkafka/tests/test.h +1028 -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.14.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 +276 -0
- package/deps/librdkafka/win32/librdkafkacpp/librdkafkacpp.vcxproj +104 -0
- package/deps/librdkafka/win32/msbuild.ps1 +15 -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 +253 -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 +62 -0
- package/lib/admin.js +233 -0
- package/lib/client.js +573 -0
- package/lib/error.js +500 -0
- package/lib/index.js +34 -0
- package/lib/kafka-consumer-stream.js +397 -0
- package/lib/kafka-consumer.js +698 -0
- package/lib/producer/high-level-producer.js +323 -0
- package/lib/producer-stream.js +307 -0
- package/lib/producer.js +375 -0
- package/lib/tools/ref-counter.js +52 -0
- package/lib/topic-partition.js +88 -0
- package/lib/topic.js +42 -0
- package/lib/util.js +29 -0
- package/package.json +61 -0
- package/prebuilds/darwin-arm64/@point3+node-rdkafka.node +0 -0
- package/prebuilds/linux-x64/@point3+node-rdkafka.node +0 -0
- package/util/configure.js +30 -0
- package/util/get-env.js +6 -0
- package/util/test-compile.js +11 -0
- package/util/test-producer-delivery.js +100 -0
package/lib/producer.js
ADDED
|
@@ -0,0 +1,375 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* node-rdkafka - Node.js wrapper for RdKafka C/C++ library
|
|
3
|
+
*
|
|
4
|
+
* Copyright (c) 2016 Blizzard Entertainment
|
|
5
|
+
*
|
|
6
|
+
* This software may be modified and distributed under the terms
|
|
7
|
+
* of the MIT license. See the LICENSE.txt file for details.
|
|
8
|
+
*/
|
|
9
|
+
|
|
10
|
+
module.exports = Producer;
|
|
11
|
+
|
|
12
|
+
var Client = require('./client');
|
|
13
|
+
|
|
14
|
+
var util = require('util');
|
|
15
|
+
var Kafka = require('../librdkafka.js');
|
|
16
|
+
var ProducerStream = require('./producer-stream');
|
|
17
|
+
var LibrdKafkaError = require('./error');
|
|
18
|
+
var shallowCopy = require('./util').shallowCopy;
|
|
19
|
+
|
|
20
|
+
util.inherits(Producer, Client);
|
|
21
|
+
|
|
22
|
+
/**
|
|
23
|
+
* Producer class for sending messages to Kafka
|
|
24
|
+
*
|
|
25
|
+
* This is the main entry point for writing data to Kafka. You
|
|
26
|
+
* configure this like you do any other client, with a global
|
|
27
|
+
* configuration and default topic configuration.
|
|
28
|
+
*
|
|
29
|
+
* Once you instantiate this object, you need to connect to it first.
|
|
30
|
+
* This allows you to get the metadata and make sure the connection
|
|
31
|
+
* can be made before you depend on it. After that, problems with
|
|
32
|
+
* the connection will by brought down by using poll, which automatically
|
|
33
|
+
* runs when a transaction is made on the object.
|
|
34
|
+
*
|
|
35
|
+
* @param {object} conf - Key value pairs to configure the producer
|
|
36
|
+
* @param {object} topicConf - Key value pairs to create a default
|
|
37
|
+
* topic configuration
|
|
38
|
+
* @extends Client
|
|
39
|
+
* @constructor
|
|
40
|
+
*/
|
|
41
|
+
function Producer(conf, topicConf) {
|
|
42
|
+
if (!(this instanceof Producer)) {
|
|
43
|
+
return new Producer(conf, topicConf);
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
conf = shallowCopy(conf);
|
|
47
|
+
topicConf = shallowCopy(topicConf);
|
|
48
|
+
|
|
49
|
+
/**
|
|
50
|
+
* Producer message. This is sent to the wrapper, not received from it
|
|
51
|
+
*
|
|
52
|
+
* @typedef {object} Producer~Message
|
|
53
|
+
* @property {string|buffer} message - The buffer to send to Kafka.
|
|
54
|
+
* @property {Topic} topic - The Kafka topic to produce to.
|
|
55
|
+
* @property {number} partition - The partition to produce to. Defaults to
|
|
56
|
+
* the partitioner
|
|
57
|
+
* @property {string} key - The key string to use for the message.
|
|
58
|
+
* @see Consumer~Message
|
|
59
|
+
*/
|
|
60
|
+
|
|
61
|
+
var gTopic = conf.topic || false;
|
|
62
|
+
var gPart = conf.partition || null;
|
|
63
|
+
var dr_cb = conf.dr_cb || null;
|
|
64
|
+
var dr_msg_cb = conf.dr_msg_cb || null;
|
|
65
|
+
|
|
66
|
+
// delete keys we don't want to pass on
|
|
67
|
+
delete conf.topic;
|
|
68
|
+
delete conf.partition;
|
|
69
|
+
|
|
70
|
+
delete conf.dr_cb;
|
|
71
|
+
delete conf.dr_msg_cb;
|
|
72
|
+
|
|
73
|
+
// client is an initialized consumer object
|
|
74
|
+
// @see NodeKafka::Producer::Init
|
|
75
|
+
Client.call(this, conf, Kafka.Producer, topicConf);
|
|
76
|
+
|
|
77
|
+
// Delete these keys after saving them in vars
|
|
78
|
+
this.globalConfig = conf;
|
|
79
|
+
this.topicConfig = topicConf;
|
|
80
|
+
this.defaultTopic = gTopic || null;
|
|
81
|
+
this.defaultPartition = gPart == null ? -1 : gPart;
|
|
82
|
+
|
|
83
|
+
this.sentMessages = 0;
|
|
84
|
+
|
|
85
|
+
this.pollInterval = undefined;
|
|
86
|
+
|
|
87
|
+
if (dr_msg_cb || dr_cb) {
|
|
88
|
+
this._cb_configs.event.delivery_cb = function(err, report) {
|
|
89
|
+
if (err) {
|
|
90
|
+
err = LibrdKafkaError.create(err);
|
|
91
|
+
}
|
|
92
|
+
this.emit('delivery-report', err, report);
|
|
93
|
+
}.bind(this);
|
|
94
|
+
this._cb_configs.event.delivery_cb.dr_msg_cb = !!dr_msg_cb;
|
|
95
|
+
|
|
96
|
+
if (typeof dr_cb === 'function') {
|
|
97
|
+
this.on('delivery-report', dr_cb);
|
|
98
|
+
}
|
|
99
|
+
|
|
100
|
+
}
|
|
101
|
+
}
|
|
102
|
+
|
|
103
|
+
/**
|
|
104
|
+
* Produce a message to Kafka synchronously.
|
|
105
|
+
*
|
|
106
|
+
* This is the method mainly used in this class. Use it to produce
|
|
107
|
+
* a message to Kafka.
|
|
108
|
+
*
|
|
109
|
+
* When this is sent off, there is no guarantee it is delivered. If you need
|
|
110
|
+
* guaranteed delivery, change your *acks* settings, or use delivery reports.
|
|
111
|
+
*
|
|
112
|
+
* @param {string} topic - The topic name to produce to.
|
|
113
|
+
* @param {number|null} partition - The partition number to produce to.
|
|
114
|
+
* @param {Buffer|null} message - The message to produce.
|
|
115
|
+
* @param {string} key - The key associated with the message.
|
|
116
|
+
* @param {number|null} timestamp - Timestamp to send with the message.
|
|
117
|
+
* @param {object} opaque - An object you want passed along with this message, if provided.
|
|
118
|
+
* @param {object} headers - A list of custom key value pairs that provide message metadata.
|
|
119
|
+
* @throws {LibrdKafkaError} - Throws a librdkafka error if it failed.
|
|
120
|
+
* @return {boolean} - returns an error if it failed, or true if not
|
|
121
|
+
* @see Producer#produce
|
|
122
|
+
*/
|
|
123
|
+
Producer.prototype.produce = function(topic, partition, message, key, timestamp, opaque, headers) {
|
|
124
|
+
if (!this._isConnected) {
|
|
125
|
+
throw new Error('Producer not connected');
|
|
126
|
+
}
|
|
127
|
+
|
|
128
|
+
// I have removed support for using a topic object. It is going to be removed
|
|
129
|
+
// from librdkafka soon, and it causes issues with shutting down
|
|
130
|
+
if (!topic || typeof topic !== 'string') {
|
|
131
|
+
throw new TypeError('"topic" must be a string');
|
|
132
|
+
}
|
|
133
|
+
|
|
134
|
+
this.sentMessages++;
|
|
135
|
+
|
|
136
|
+
partition = partition == null ? this.defaultPartition : partition;
|
|
137
|
+
|
|
138
|
+
return this._errorWrap(
|
|
139
|
+
this._client.produce(topic, partition, message, key, timestamp, opaque, headers));
|
|
140
|
+
|
|
141
|
+
};
|
|
142
|
+
|
|
143
|
+
/**
|
|
144
|
+
* Create a write stream interface for a producer.
|
|
145
|
+
*
|
|
146
|
+
* This stream does not run in object mode. It only takes buffers of data.
|
|
147
|
+
*
|
|
148
|
+
* @param {object} conf - Key value pairs to configure the producer
|
|
149
|
+
* @param {object} topicConf - Key value pairs to create a default
|
|
150
|
+
* topic configuration
|
|
151
|
+
* @param {object} streamOptions - Stream options
|
|
152
|
+
* @return {ProducerStream} - returns the write stream for writing to Kafka.
|
|
153
|
+
*/
|
|
154
|
+
Producer.createWriteStream = function(conf, topicConf, streamOptions) {
|
|
155
|
+
var producer = new Producer(conf, topicConf);
|
|
156
|
+
return new ProducerStream(producer, streamOptions);
|
|
157
|
+
};
|
|
158
|
+
|
|
159
|
+
/**
|
|
160
|
+
* Poll for events
|
|
161
|
+
*
|
|
162
|
+
* We need to run poll in order to learn about new events that have occurred.
|
|
163
|
+
* This is no longer done automatically when we produce, so we need to run
|
|
164
|
+
* it manually, or set the producer to automatically poll.
|
|
165
|
+
*
|
|
166
|
+
* @return {Producer} - returns itself.
|
|
167
|
+
*/
|
|
168
|
+
Producer.prototype.poll = function() {
|
|
169
|
+
if (!this._isConnected) {
|
|
170
|
+
throw new Error('Producer not connected');
|
|
171
|
+
}
|
|
172
|
+
this._client.poll();
|
|
173
|
+
return this;
|
|
174
|
+
};
|
|
175
|
+
|
|
176
|
+
/**
|
|
177
|
+
* Set automatic polling for events.
|
|
178
|
+
*
|
|
179
|
+
* We need to run poll in order to learn about new events that have occurred.
|
|
180
|
+
* If you would like this done on an interval with disconnects and reconnections
|
|
181
|
+
* managed, you can do it here
|
|
182
|
+
*
|
|
183
|
+
* @param {number} interval - Interval, in milliseconds, to poll
|
|
184
|
+
*
|
|
185
|
+
* @return {Producer} - returns itself.
|
|
186
|
+
*/
|
|
187
|
+
Producer.prototype.setPollInterval = function(interval) {
|
|
188
|
+
// If we already have a poll interval we need to stop it
|
|
189
|
+
if (this.pollInterval) {
|
|
190
|
+
clearInterval(this.pollInterval);
|
|
191
|
+
this.pollInterval = undefined;
|
|
192
|
+
}
|
|
193
|
+
|
|
194
|
+
if (interval === 0) {
|
|
195
|
+
// If the interval was set to 0, bail out. We don't want to process this.
|
|
196
|
+
// If there was an interval previously set, it has been removed.
|
|
197
|
+
return;
|
|
198
|
+
}
|
|
199
|
+
|
|
200
|
+
var self = this;
|
|
201
|
+
|
|
202
|
+
// Now we want to make sure we are connected.
|
|
203
|
+
if (!this._isConnected) {
|
|
204
|
+
// If we are not, execute this once the connection goes through.
|
|
205
|
+
this.once('ready', function() {
|
|
206
|
+
self.setPollInterval(interval);
|
|
207
|
+
});
|
|
208
|
+
return;
|
|
209
|
+
}
|
|
210
|
+
|
|
211
|
+
// We know we are connected at this point.
|
|
212
|
+
// Unref this interval
|
|
213
|
+
this.pollInterval = setInterval(function() {
|
|
214
|
+
try {
|
|
215
|
+
self.poll();
|
|
216
|
+
} catch (e) {
|
|
217
|
+
// We can probably ignore errors here as far as broadcasting.
|
|
218
|
+
// Disconnection issues will get handled below
|
|
219
|
+
}
|
|
220
|
+
}, interval).unref();
|
|
221
|
+
|
|
222
|
+
// Handle disconnections
|
|
223
|
+
this.once('disconnected', function() {
|
|
224
|
+
// Just rerun this function with interval 0. If any
|
|
225
|
+
// poll interval is set, this will remove it
|
|
226
|
+
self.setPollInterval(0);
|
|
227
|
+
});
|
|
228
|
+
|
|
229
|
+
return this;
|
|
230
|
+
};
|
|
231
|
+
|
|
232
|
+
/**
|
|
233
|
+
* Flush the producer
|
|
234
|
+
*
|
|
235
|
+
* Flush everything on the internal librdkafka producer buffer. Do this before
|
|
236
|
+
* disconnects usually
|
|
237
|
+
*
|
|
238
|
+
* @param {number} timeout - Number of milliseconds to try to flush before giving up.
|
|
239
|
+
* @param {function} callback - Callback to fire when the flush is done.
|
|
240
|
+
*
|
|
241
|
+
* @return {Producer} - returns itself.
|
|
242
|
+
*/
|
|
243
|
+
Producer.prototype.flush = function(timeout, callback) {
|
|
244
|
+
if (!this._isConnected) {
|
|
245
|
+
throw new Error('Producer not connected');
|
|
246
|
+
}
|
|
247
|
+
|
|
248
|
+
if (timeout === undefined || timeout === null) {
|
|
249
|
+
timeout = 500;
|
|
250
|
+
}
|
|
251
|
+
|
|
252
|
+
this._client.flush(timeout, function(err) {
|
|
253
|
+
if (err) {
|
|
254
|
+
err = LibrdKafkaError.create(err);
|
|
255
|
+
}
|
|
256
|
+
|
|
257
|
+
if (callback) {
|
|
258
|
+
callback(err);
|
|
259
|
+
}
|
|
260
|
+
});
|
|
261
|
+
return this;
|
|
262
|
+
};
|
|
263
|
+
|
|
264
|
+
/**
|
|
265
|
+
* Save the base disconnect method here so we can overwrite it and add a flush
|
|
266
|
+
*/
|
|
267
|
+
Producer.prototype._disconnect = Producer.prototype.disconnect;
|
|
268
|
+
|
|
269
|
+
/**
|
|
270
|
+
* Disconnect the producer
|
|
271
|
+
*
|
|
272
|
+
* Flush everything on the internal librdkafka producer buffer. Then disconnect
|
|
273
|
+
*
|
|
274
|
+
* @param {number} timeout - Number of milliseconds to try to flush before giving up, defaults to 5 seconds.
|
|
275
|
+
* @param {function} cb - The callback to fire when
|
|
276
|
+
*/
|
|
277
|
+
Producer.prototype.disconnect = function(timeout, cb) {
|
|
278
|
+
var self = this;
|
|
279
|
+
var timeoutInterval = 5000;
|
|
280
|
+
|
|
281
|
+
if (typeof timeout === 'function') {
|
|
282
|
+
cb = timeout;
|
|
283
|
+
} else {
|
|
284
|
+
timeoutInterval = timeout;
|
|
285
|
+
}
|
|
286
|
+
|
|
287
|
+
this.flush(timeoutInterval, function() {
|
|
288
|
+
self._disconnect(cb);
|
|
289
|
+
});
|
|
290
|
+
};
|
|
291
|
+
|
|
292
|
+
/**
|
|
293
|
+
* Init a transaction.
|
|
294
|
+
*
|
|
295
|
+
* Initialize transactions, this is only performed once per transactional producer.
|
|
296
|
+
*
|
|
297
|
+
* @param {number} timeout - Number of milliseconds to try to initialize before giving up, defaults to 5 seconds.
|
|
298
|
+
* @param {function} cb - Callback to return when operation is completed
|
|
299
|
+
* @return {Producer} - returns itself.
|
|
300
|
+
*/
|
|
301
|
+
Producer.prototype.initTransactions = function(timeout, cb) {
|
|
302
|
+
if (typeof timeout === 'function') {
|
|
303
|
+
cb = timeout;
|
|
304
|
+
timeout = 5000;
|
|
305
|
+
}
|
|
306
|
+
this._client.initTransactions(timeout, function(err) {
|
|
307
|
+
cb(err ? LibrdKafkaError.create(err) : err);
|
|
308
|
+
});
|
|
309
|
+
};
|
|
310
|
+
|
|
311
|
+
/**
|
|
312
|
+
* Begin a transaction.
|
|
313
|
+
*
|
|
314
|
+
* 'initTransaction' must have been called successfully (once) before this function is called.
|
|
315
|
+
*
|
|
316
|
+
* @return {Producer} - returns itself.
|
|
317
|
+
*/
|
|
318
|
+
Producer.prototype.beginTransaction = function(cb) {
|
|
319
|
+
this._client.beginTransaction(function(err) {
|
|
320
|
+
cb(err ? LibrdKafkaError.create(err) : err);
|
|
321
|
+
});
|
|
322
|
+
};
|
|
323
|
+
|
|
324
|
+
/**
|
|
325
|
+
* Commit the current transaction (as started with 'beginTransaction').
|
|
326
|
+
*
|
|
327
|
+
* @param {number} timeout - Number of milliseconds to try to commit before giving up, defaults to 5 seconds
|
|
328
|
+
* @param {function} cb - Callback to return when operation is completed
|
|
329
|
+
* @return {Producer} - returns itself.
|
|
330
|
+
*/
|
|
331
|
+
Producer.prototype.commitTransaction = function(timeout, cb) {
|
|
332
|
+
if (typeof timeout === 'function') {
|
|
333
|
+
cb = timeout;
|
|
334
|
+
timeout = 5000;
|
|
335
|
+
}
|
|
336
|
+
this._client.commitTransaction(timeout, function(err) {
|
|
337
|
+
cb(err ? LibrdKafkaError.create(err) : err);
|
|
338
|
+
});
|
|
339
|
+
};
|
|
340
|
+
|
|
341
|
+
/**
|
|
342
|
+
* Aborts the ongoing transaction.
|
|
343
|
+
*
|
|
344
|
+
* @param {number} timeout - Number of milliseconds to try to abort, defaults to 5 seconds
|
|
345
|
+
* @param {function} cb - Callback to return when operation is completed
|
|
346
|
+
* @return {Producer} - returns itself.
|
|
347
|
+
*/
|
|
348
|
+
Producer.prototype.abortTransaction = function(timeout, cb) {
|
|
349
|
+
if (typeof timeout === 'function') {
|
|
350
|
+
cb = timeout;
|
|
351
|
+
timeout = 5000;
|
|
352
|
+
}
|
|
353
|
+
this._client.abortTransaction(timeout, function(err) {
|
|
354
|
+
cb(err ? LibrdKafkaError.create(err) : err);
|
|
355
|
+
});
|
|
356
|
+
};
|
|
357
|
+
|
|
358
|
+
/**
|
|
359
|
+
* Send the current offsets of the consumer to the ongoing transaction.
|
|
360
|
+
*
|
|
361
|
+
* @param {number} offsets - Offsets to send as part of the next commit
|
|
362
|
+
* @param {Consumer} consumer - An instance of the consumer
|
|
363
|
+
* @param {number} timeout - Number of milliseconds to try to send offsets, defaults to 5 seconds
|
|
364
|
+
* @param {function} cb - Callback to return when operation is completed
|
|
365
|
+
* @return {Producer} - returns itself.
|
|
366
|
+
*/
|
|
367
|
+
Producer.prototype.sendOffsetsToTransaction = function(offsets, consumer, timeout, cb) {
|
|
368
|
+
if (typeof timeout === 'function') {
|
|
369
|
+
cb = timeout;
|
|
370
|
+
timeout = 5000;
|
|
371
|
+
}
|
|
372
|
+
this._client.sendOffsetsToTransaction(offsets, consumer.getClient(), timeout, function(err) {
|
|
373
|
+
cb(err ? LibrdKafkaError.create(err) : err);
|
|
374
|
+
});
|
|
375
|
+
};
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* node-rdkafka - Node.js wrapper for RdKafka C/C++ library
|
|
3
|
+
*
|
|
4
|
+
* Copyright (c) 2016 Blizzard Entertainment
|
|
5
|
+
*
|
|
6
|
+
* This software may be modified and distributed under the terms
|
|
7
|
+
* of the MIT license. See the LICENSE.txt file for details.
|
|
8
|
+
*/
|
|
9
|
+
|
|
10
|
+
module.exports = RefCounter;
|
|
11
|
+
|
|
12
|
+
/**
|
|
13
|
+
* Ref counter class.
|
|
14
|
+
*
|
|
15
|
+
* Is used to basically determine active/inactive and allow callbacks that
|
|
16
|
+
* hook into each.
|
|
17
|
+
*
|
|
18
|
+
* For the producer, it is used to begin rapid polling after a produce until
|
|
19
|
+
* the delivery report is dispatched.
|
|
20
|
+
*/
|
|
21
|
+
function RefCounter(onActive, onPassive) {
|
|
22
|
+
this.context = {};
|
|
23
|
+
this.onActive = onActive;
|
|
24
|
+
this.onPassive = onPassive;
|
|
25
|
+
this.currentValue = 0;
|
|
26
|
+
this.isRunning = false;
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
/**
|
|
30
|
+
* Increment the ref counter
|
|
31
|
+
*/
|
|
32
|
+
RefCounter.prototype.increment = function() {
|
|
33
|
+
this.currentValue += 1;
|
|
34
|
+
|
|
35
|
+
// If current value exceeds 0, activate the start
|
|
36
|
+
if (this.currentValue > 0 && !this.isRunning) {
|
|
37
|
+
this.isRunning = true;
|
|
38
|
+
this.onActive(this.context);
|
|
39
|
+
}
|
|
40
|
+
};
|
|
41
|
+
|
|
42
|
+
/**
|
|
43
|
+
* Decrement the ref counter
|
|
44
|
+
*/
|
|
45
|
+
RefCounter.prototype.decrement = function() {
|
|
46
|
+
this.currentValue -= 1;
|
|
47
|
+
|
|
48
|
+
if (this.currentValue <= 0 && this.isRunning) {
|
|
49
|
+
this.isRunning = false;
|
|
50
|
+
this.onPassive(this.context);
|
|
51
|
+
}
|
|
52
|
+
};
|
|
@@ -0,0 +1,88 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* node-rdkafka - Node.js wrapper for RdKafka C/C++ library
|
|
3
|
+
*
|
|
4
|
+
* Copyright (c) 2016 Blizzard Entertainment
|
|
5
|
+
*
|
|
6
|
+
* This software may be modified and distributed under the terms
|
|
7
|
+
* of the MIT license. See the LICENSE.txt file for details.
|
|
8
|
+
*/
|
|
9
|
+
|
|
10
|
+
var Topic = require('./topic');
|
|
11
|
+
|
|
12
|
+
module.exports = TopicPartition;
|
|
13
|
+
|
|
14
|
+
/**
|
|
15
|
+
* Map an array of topic partition js objects to real topic partition objects.
|
|
16
|
+
*
|
|
17
|
+
* @param array The array of topic partition raw objects to map to topic
|
|
18
|
+
* partition objects
|
|
19
|
+
*/
|
|
20
|
+
TopicPartition.map = function(array) {
|
|
21
|
+
return array.map(function(element) {
|
|
22
|
+
return TopicPartition.create(element);
|
|
23
|
+
});
|
|
24
|
+
};
|
|
25
|
+
|
|
26
|
+
/**
|
|
27
|
+
* Take a topic partition javascript object and convert it to the class.
|
|
28
|
+
* The class will automatically convert offset identifiers to special constants
|
|
29
|
+
*
|
|
30
|
+
* @param element The topic partition raw javascript object
|
|
31
|
+
*/
|
|
32
|
+
TopicPartition.create = function(element) {
|
|
33
|
+
// Just ensure we take something that can have properties. The topic partition
|
|
34
|
+
// class will
|
|
35
|
+
element = element || {};
|
|
36
|
+
return new TopicPartition(element.topic, element.partition, element.offset);
|
|
37
|
+
};
|
|
38
|
+
|
|
39
|
+
/**
|
|
40
|
+
* Create a topic partition. Just does some validation and decoration
|
|
41
|
+
* on topic partitions provided.
|
|
42
|
+
*
|
|
43
|
+
* Goal is still to behave like a plain javascript object but with validation
|
|
44
|
+
* and potentially some extra methods
|
|
45
|
+
*/
|
|
46
|
+
function TopicPartition(topic, partition, offset) {
|
|
47
|
+
if (!(this instanceof TopicPartition)) {
|
|
48
|
+
return new TopicPartition(topic, partition, offset);
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
// Validate that the elements we are iterating over are actual topic partition
|
|
52
|
+
// js objects. They do not need an offset, but they do need partition
|
|
53
|
+
if (!topic) {
|
|
54
|
+
throw new TypeError('"topic" must be a string and must be set');
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
if (partition === null || partition === undefined) {
|
|
58
|
+
throw new TypeError('"partition" must be a number and must set');
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
// We can just set topic and partition as they stand.
|
|
62
|
+
this.topic = topic;
|
|
63
|
+
this.partition = partition;
|
|
64
|
+
|
|
65
|
+
if (offset === undefined || offset === null) {
|
|
66
|
+
this.offset = Topic.OFFSET_STORED;
|
|
67
|
+
} else if (typeof offset === 'string') {
|
|
68
|
+
switch (offset.toLowerCase()) {
|
|
69
|
+
case 'earliest':
|
|
70
|
+
case 'beginning':
|
|
71
|
+
this.offset = Topic.OFFSET_BEGINNING;
|
|
72
|
+
break;
|
|
73
|
+
case 'latest':
|
|
74
|
+
case 'end':
|
|
75
|
+
this.offset = Topic.OFFSET_END;
|
|
76
|
+
break;
|
|
77
|
+
case 'stored':
|
|
78
|
+
this.offset = Topic.OFFSET_STORED;
|
|
79
|
+
break;
|
|
80
|
+
default:
|
|
81
|
+
throw new TypeError('"offset", if provided as a string, must be beginning, end, or stored.');
|
|
82
|
+
}
|
|
83
|
+
} else if (typeof offset === 'number') {
|
|
84
|
+
this.offset = offset;
|
|
85
|
+
} else {
|
|
86
|
+
throw new TypeError('"offset" must be a special string or number if it is set');
|
|
87
|
+
}
|
|
88
|
+
}
|
package/lib/topic.js
ADDED
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* node-rdkafka - Node.js wrapper for RdKafka C/C++ library
|
|
3
|
+
*
|
|
4
|
+
* Copyright (c) 2016 Blizzard Entertainment
|
|
5
|
+
*
|
|
6
|
+
* This software may be modified and distributed under the terms
|
|
7
|
+
* of the MIT license. See the LICENSE.txt file for details.
|
|
8
|
+
*/
|
|
9
|
+
|
|
10
|
+
var librdkafka = require('../librdkafka');
|
|
11
|
+
|
|
12
|
+
module.exports = Topic;
|
|
13
|
+
|
|
14
|
+
var topicKey = 'RdKafka::Topic::';
|
|
15
|
+
var topicKeyLength = topicKey.length;
|
|
16
|
+
|
|
17
|
+
// Take all of the topic special codes from librdkafka and add them
|
|
18
|
+
// to the object
|
|
19
|
+
// You can find this list in the C++ code at
|
|
20
|
+
// https://github.com/edenhill/librdkafka/blob/master/src-cpp/rdkafkacpp.h#L1250
|
|
21
|
+
for (var key in librdkafka.topic) {
|
|
22
|
+
// Skip it if it doesn't start with ErrorCode
|
|
23
|
+
if (key.indexOf('RdKafka::Topic::') !== 0) {
|
|
24
|
+
continue;
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
// Replace/add it if there are any discrepancies
|
|
28
|
+
var newKey = key.substring(topicKeyLength);
|
|
29
|
+
Topic[newKey] = librdkafka.topic[key];
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
/**
|
|
33
|
+
* Create a topic. Just returns the string you gave it right now.
|
|
34
|
+
*
|
|
35
|
+
* Looks like a class, but all it does is return the topic name.
|
|
36
|
+
* This is so that one day if there are interface changes that allow
|
|
37
|
+
* different use of topic parameters, we can just add to this constructor and
|
|
38
|
+
* have it return something richer
|
|
39
|
+
*/
|
|
40
|
+
function Topic(topicName) {
|
|
41
|
+
return topicName;
|
|
42
|
+
}
|
package/lib/util.js
ADDED
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* node-rdkafka - Node.js wrapper for RdKafka C/C++ library
|
|
3
|
+
*
|
|
4
|
+
* Copyright (c) 2016 Blizzard Entertainment
|
|
5
|
+
*
|
|
6
|
+
* This software may be modified and distributed under the terms
|
|
7
|
+
* of the MIT license. See the LICENSE.txt file for details.
|
|
8
|
+
*/
|
|
9
|
+
|
|
10
|
+
var util = module.exports = {};
|
|
11
|
+
|
|
12
|
+
util.shallowCopy = function (obj) {
|
|
13
|
+
|
|
14
|
+
if (!util.isObject(obj)) { return obj; }
|
|
15
|
+
|
|
16
|
+
var copy = {};
|
|
17
|
+
|
|
18
|
+
for (var k in obj) {
|
|
19
|
+
if (obj.hasOwnProperty(k)) {
|
|
20
|
+
copy[k] = obj[k];
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
return copy;
|
|
25
|
+
};
|
|
26
|
+
|
|
27
|
+
util.isObject = function (obj) {
|
|
28
|
+
return obj && typeof obj === 'object';
|
|
29
|
+
};
|
package/package.json
ADDED
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@point3/node-rdkafka",
|
|
3
|
+
"version": "v3.6.0-1",
|
|
4
|
+
"description": "Node.js bindings for librdkafka with Prebuilt binary",
|
|
5
|
+
"librdkafka": "2.12.0",
|
|
6
|
+
"main": "lib/index.js",
|
|
7
|
+
"scripts": {
|
|
8
|
+
"configure": "node-gyp configure",
|
|
9
|
+
"build": "node-gyp build",
|
|
10
|
+
"test": "make test",
|
|
11
|
+
"install": "node-gyp-build",
|
|
12
|
+
"prebuild": "prebuildify --strip --target=19.0.0 --target=20.0.0 --target=22.0.0 --target=23.0.0",
|
|
13
|
+
"prebuild-all": "prebuildify --strip --target=19.0.0 --target=20.0.0 --target=22.0.0 --target=23.0.0 --arch x64 --arch arm64"
|
|
14
|
+
},
|
|
15
|
+
"keywords": [
|
|
16
|
+
"kafka",
|
|
17
|
+
"librdkafka"
|
|
18
|
+
],
|
|
19
|
+
"files": [
|
|
20
|
+
"lib/",
|
|
21
|
+
"util/",
|
|
22
|
+
"prebuilds/",
|
|
23
|
+
"binding.gyp",
|
|
24
|
+
"deps/librdkafka.gyp",
|
|
25
|
+
"deps/librdkafka/",
|
|
26
|
+
"deps/windows-install.cmd",
|
|
27
|
+
"deps/windows-install.ps1"
|
|
28
|
+
],
|
|
29
|
+
"repository": {
|
|
30
|
+
"type": "git",
|
|
31
|
+
"url": "git@github.com:Blizzard/node-rdkafka.git"
|
|
32
|
+
},
|
|
33
|
+
"contributors": [
|
|
34
|
+
{
|
|
35
|
+
"name": "Stephen Parente",
|
|
36
|
+
"email": "webmakersteve@gmail.com"
|
|
37
|
+
},
|
|
38
|
+
{
|
|
39
|
+
"name": "Matt Gollob",
|
|
40
|
+
"email": "mattness@users.noreply.github.com"
|
|
41
|
+
}
|
|
42
|
+
],
|
|
43
|
+
"license": "MIT",
|
|
44
|
+
"devDependencies": {
|
|
45
|
+
"bluebird": "^3.5.3",
|
|
46
|
+
"jsdoc": "^4.0.2",
|
|
47
|
+
"jshint": "^2.10.1",
|
|
48
|
+
"mocha": "^10.2.0",
|
|
49
|
+
"node-gyp": "^11.1.0",
|
|
50
|
+
"prebuildify": "^6.0.1",
|
|
51
|
+
"toolkit-jsdoc": "^1.0.0",
|
|
52
|
+
"bindings": "^1.3.1"
|
|
53
|
+
},
|
|
54
|
+
"dependencies": {
|
|
55
|
+
"nan": "^2.22.0",
|
|
56
|
+
"node-gyp-build": "^4.8.4"
|
|
57
|
+
},
|
|
58
|
+
"engines": {
|
|
59
|
+
"node": ">=16 <25"
|
|
60
|
+
}
|
|
61
|
+
}
|
|
Binary file
|
|
Binary file
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var query = process.argv[2];
|
|
4
|
+
|
|
5
|
+
var fs = require('fs');
|
|
6
|
+
var path = require('path');
|
|
7
|
+
|
|
8
|
+
var baseDir = path.resolve(__dirname, '../');
|
|
9
|
+
var releaseDir = path.join(baseDir, 'build', 'deps');
|
|
10
|
+
|
|
11
|
+
var isWin = /^win/.test(process.platform);
|
|
12
|
+
|
|
13
|
+
// Skip running this if we are running on a windows system
|
|
14
|
+
if (isWin) {
|
|
15
|
+
process.stderr.write('Skipping run because we are on windows\n');
|
|
16
|
+
process.exit(0);
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
var childProcess = require('child_process');
|
|
20
|
+
|
|
21
|
+
try {
|
|
22
|
+
childProcess.execSync('./configure --prefix=' + releaseDir + ' --libdir=' + releaseDir, {
|
|
23
|
+
cwd: baseDir,
|
|
24
|
+
stdio: [0,1,2]
|
|
25
|
+
});
|
|
26
|
+
process.exit(0);
|
|
27
|
+
} catch (e) {
|
|
28
|
+
process.stderr.write(e.message + '\n');
|
|
29
|
+
process.exit(1);
|
|
30
|
+
}
|
package/util/get-env.js
ADDED