@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
|
@@ -0,0 +1,610 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* librdkafka - Apache Kafka C library
|
|
3
|
+
*
|
|
4
|
+
* Copyright (c) 2019-2022, Magnus Edenhill
|
|
5
|
+
* 2023, Confluent Inc.
|
|
6
|
+
* All rights reserved.
|
|
7
|
+
*
|
|
8
|
+
* Redistribution and use in source and binary forms, with or without
|
|
9
|
+
* modification, are permitted provided that the following conditions are met:
|
|
10
|
+
*
|
|
11
|
+
* 1. Redistributions of source code must retain the above copyright notice,
|
|
12
|
+
* this list of conditions and the following disclaimer.
|
|
13
|
+
* 2. Redistributions in binary form must reproduce the above copyright notice,
|
|
14
|
+
* this list of conditions and the following disclaimer in the documentation
|
|
15
|
+
* and/or other materials provided with the distribution.
|
|
16
|
+
*
|
|
17
|
+
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
|
18
|
+
* AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
|
19
|
+
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
|
20
|
+
* ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
|
|
21
|
+
* LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
|
|
22
|
+
* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
|
|
23
|
+
* SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
|
|
24
|
+
* INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
|
|
25
|
+
* CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
|
|
26
|
+
* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
|
27
|
+
* POSSIBILITY OF SUCH DAMAGE.
|
|
28
|
+
*/
|
|
29
|
+
|
|
30
|
+
#ifndef _RDKAFKA_MOCK_H_
|
|
31
|
+
#define _RDKAFKA_MOCK_H_
|
|
32
|
+
|
|
33
|
+
#ifndef _RDKAFKA_H_
|
|
34
|
+
#error "rdkafka_mock.h must be included after rdkafka.h"
|
|
35
|
+
#endif
|
|
36
|
+
|
|
37
|
+
#ifdef __cplusplus
|
|
38
|
+
extern "C" {
|
|
39
|
+
#if 0
|
|
40
|
+
} /* Restore indent */
|
|
41
|
+
#endif
|
|
42
|
+
#endif
|
|
43
|
+
|
|
44
|
+
|
|
45
|
+
/**
|
|
46
|
+
* @name Mock cluster
|
|
47
|
+
*
|
|
48
|
+
* Provides a mock Kafka cluster with a configurable number of brokers
|
|
49
|
+
* that support a reasonable subset of Kafka protocol operations,
|
|
50
|
+
* error injection, etc.
|
|
51
|
+
*
|
|
52
|
+
* There are two ways to use the mock clusters, the most simple approach
|
|
53
|
+
* is to configure `test.mock.num.brokers` (to e.g. 3) on the rd_kafka_t
|
|
54
|
+
* in an existing application, which will replace the configured
|
|
55
|
+
* `bootstrap.servers` with the mock cluster brokers.
|
|
56
|
+
* This approach is convenient to easily test existing applications.
|
|
57
|
+
*
|
|
58
|
+
* The second approach is to explicitly create a mock cluster on an
|
|
59
|
+
* rd_kafka_t instance by using rd_kafka_mock_cluster_new().
|
|
60
|
+
*
|
|
61
|
+
* Mock clusters provide localhost listeners that can be used as the bootstrap
|
|
62
|
+
* servers by multiple rd_kafka_t instances.
|
|
63
|
+
*
|
|
64
|
+
* Currently supported functionality:
|
|
65
|
+
* - Producer
|
|
66
|
+
* - Idempotent Producer
|
|
67
|
+
* - Transactional Producer
|
|
68
|
+
* - Low-level consumer
|
|
69
|
+
* - High-level balanced consumer groups with offset commits
|
|
70
|
+
* - Topic Metadata and auto creation
|
|
71
|
+
* - Telemetry (KIP-714)
|
|
72
|
+
*
|
|
73
|
+
* @remark This is an experimental public API that is NOT covered by the
|
|
74
|
+
* librdkafka API or ABI stability guarantees.
|
|
75
|
+
*
|
|
76
|
+
*
|
|
77
|
+
* @warning THIS IS AN EXPERIMENTAL API, SUBJECT TO CHANGE OR REMOVAL.
|
|
78
|
+
*
|
|
79
|
+
* @{
|
|
80
|
+
*/
|
|
81
|
+
|
|
82
|
+
typedef struct rd_kafka_mock_cluster_s rd_kafka_mock_cluster_t;
|
|
83
|
+
|
|
84
|
+
|
|
85
|
+
/**
|
|
86
|
+
* @brief Create new mock cluster with \p broker_cnt brokers.
|
|
87
|
+
*
|
|
88
|
+
* The broker ids will start at 1 up to and including \p broker_cnt.
|
|
89
|
+
*
|
|
90
|
+
* The \p rk instance is required for internal book keeping but continues
|
|
91
|
+
* to operate as usual.
|
|
92
|
+
*/
|
|
93
|
+
RD_EXPORT
|
|
94
|
+
rd_kafka_mock_cluster_t *rd_kafka_mock_cluster_new(rd_kafka_t *rk,
|
|
95
|
+
int broker_cnt);
|
|
96
|
+
|
|
97
|
+
|
|
98
|
+
/**
|
|
99
|
+
* @brief Destroy mock cluster.
|
|
100
|
+
*/
|
|
101
|
+
RD_EXPORT
|
|
102
|
+
void rd_kafka_mock_cluster_destroy(rd_kafka_mock_cluster_t *mcluster);
|
|
103
|
+
|
|
104
|
+
|
|
105
|
+
|
|
106
|
+
/**
|
|
107
|
+
* @returns the rd_kafka_t instance for a cluster as passed to
|
|
108
|
+
* rd_kafka_mock_cluster_new().
|
|
109
|
+
*/
|
|
110
|
+
RD_EXPORT rd_kafka_t *
|
|
111
|
+
rd_kafka_mock_cluster_handle(const rd_kafka_mock_cluster_t *mcluster);
|
|
112
|
+
|
|
113
|
+
|
|
114
|
+
/**
|
|
115
|
+
* @returns the rd_kafka_mock_cluster_t instance as created by
|
|
116
|
+
* setting the `test.mock.num.brokers` configuration property,
|
|
117
|
+
* or NULL if no such instance.
|
|
118
|
+
*/
|
|
119
|
+
RD_EXPORT rd_kafka_mock_cluster_t *
|
|
120
|
+
rd_kafka_handle_mock_cluster(const rd_kafka_t *rk);
|
|
121
|
+
|
|
122
|
+
|
|
123
|
+
|
|
124
|
+
/**
|
|
125
|
+
* @returns the mock cluster's bootstrap.servers list
|
|
126
|
+
*/
|
|
127
|
+
RD_EXPORT const char *
|
|
128
|
+
rd_kafka_mock_cluster_bootstraps(const rd_kafka_mock_cluster_t *mcluster);
|
|
129
|
+
|
|
130
|
+
|
|
131
|
+
/**
|
|
132
|
+
* @brief Clear the cluster's error state for the given \p ApiKey.
|
|
133
|
+
*/
|
|
134
|
+
RD_EXPORT
|
|
135
|
+
void rd_kafka_mock_clear_request_errors(rd_kafka_mock_cluster_t *mcluster,
|
|
136
|
+
int16_t ApiKey);
|
|
137
|
+
|
|
138
|
+
|
|
139
|
+
/**
|
|
140
|
+
* @brief Push \p cnt errors in the \p ... va-arg list onto the cluster's
|
|
141
|
+
* error stack for the given \p ApiKey.
|
|
142
|
+
*
|
|
143
|
+
* \p ApiKey is the Kafka protocol request type, e.g., ProduceRequest (0).
|
|
144
|
+
*
|
|
145
|
+
* The following \p cnt protocol requests matching \p ApiKey will fail with the
|
|
146
|
+
* provided error code and removed from the stack, starting with
|
|
147
|
+
* the first error code, then the second, etc.
|
|
148
|
+
*
|
|
149
|
+
* Passing \c RD_KAFKA_RESP_ERR__TRANSPORT will make the mock broker
|
|
150
|
+
* disconnect the client which can be useful to trigger a disconnect on certain
|
|
151
|
+
* requests.
|
|
152
|
+
*/
|
|
153
|
+
RD_EXPORT
|
|
154
|
+
void rd_kafka_mock_push_request_errors(rd_kafka_mock_cluster_t *mcluster,
|
|
155
|
+
int16_t ApiKey,
|
|
156
|
+
size_t cnt,
|
|
157
|
+
...);
|
|
158
|
+
|
|
159
|
+
|
|
160
|
+
/**
|
|
161
|
+
* @brief Same as rd_kafka_mock_push_request_errors() but takes
|
|
162
|
+
* an array of errors.
|
|
163
|
+
*/
|
|
164
|
+
RD_EXPORT void
|
|
165
|
+
rd_kafka_mock_push_request_errors_array(rd_kafka_mock_cluster_t *mcluster,
|
|
166
|
+
int16_t ApiKey,
|
|
167
|
+
size_t cnt,
|
|
168
|
+
const rd_kafka_resp_err_t *errors);
|
|
169
|
+
|
|
170
|
+
|
|
171
|
+
/**
|
|
172
|
+
* @brief Apply broker configuration group.initial.rebalance.delay.ms
|
|
173
|
+
* to the whole \p mcluster.
|
|
174
|
+
*/
|
|
175
|
+
RD_EXPORT void rd_kafka_mock_group_initial_rebalance_delay_ms(
|
|
176
|
+
rd_kafka_mock_cluster_t *mcluster,
|
|
177
|
+
int32_t delay_ms);
|
|
178
|
+
|
|
179
|
+
|
|
180
|
+
/**
|
|
181
|
+
* @brief Push \p cnt errors and RTT tuples in the \p ... va-arg list onto
|
|
182
|
+
* the broker's error stack for the given \p ApiKey.
|
|
183
|
+
*
|
|
184
|
+
* \p ApiKey is the Kafka protocol request type, e.g., ProduceRequest (0).
|
|
185
|
+
*
|
|
186
|
+
* Each entry is a tuple of:
|
|
187
|
+
* rd_kafka_resp_err_t err - error to return (or 0)
|
|
188
|
+
* int rtt_ms - response RTT/delay in milliseconds (or 0)
|
|
189
|
+
*
|
|
190
|
+
* The following \p cnt protocol requests matching \p ApiKey will fail with the
|
|
191
|
+
* provided error code and removed from the stack, starting with
|
|
192
|
+
* the first error code, then the second, etc.
|
|
193
|
+
*
|
|
194
|
+
* @remark The broker errors take precedence over the cluster errors.
|
|
195
|
+
*/
|
|
196
|
+
RD_EXPORT rd_kafka_resp_err_t
|
|
197
|
+
rd_kafka_mock_broker_push_request_error_rtts(rd_kafka_mock_cluster_t *mcluster,
|
|
198
|
+
int32_t broker_id,
|
|
199
|
+
int16_t ApiKey,
|
|
200
|
+
size_t cnt,
|
|
201
|
+
...);
|
|
202
|
+
|
|
203
|
+
|
|
204
|
+
|
|
205
|
+
/**
|
|
206
|
+
* @brief Get the count of errors in the broker's error stack for
|
|
207
|
+
* the given \p ApiKey.
|
|
208
|
+
*
|
|
209
|
+
* @param mcluster the mock cluster.
|
|
210
|
+
* @param broker_id id of the broker in the cluster.
|
|
211
|
+
* @param ApiKey is the Kafka protocol request type, e.g., ProduceRequest (0).
|
|
212
|
+
* @param cntp pointer for receiving the count.
|
|
213
|
+
*
|
|
214
|
+
* @returns \c RD_KAFKA_RESP_ERR_NO_ERROR if the count was retrieved,
|
|
215
|
+
* \c RD_KAFKA_RESP_ERR__UNKNOWN_BROKER if there was no broker with this id,
|
|
216
|
+
* \c RD_KAFKA_RESP_ERR__INVALID_ARG if some of the parameters are not valid.
|
|
217
|
+
*/
|
|
218
|
+
RD_EXPORT rd_kafka_resp_err_t
|
|
219
|
+
rd_kafka_mock_broker_error_stack_cnt(rd_kafka_mock_cluster_t *mcluster,
|
|
220
|
+
int32_t broker_id,
|
|
221
|
+
int16_t ApiKey,
|
|
222
|
+
size_t *cntp);
|
|
223
|
+
|
|
224
|
+
|
|
225
|
+
/**
|
|
226
|
+
* @brief Set the topic error to return in protocol requests.
|
|
227
|
+
*
|
|
228
|
+
* Currently only used for TopicMetadataRequest and AddPartitionsToTxnRequest.
|
|
229
|
+
*/
|
|
230
|
+
RD_EXPORT
|
|
231
|
+
void rd_kafka_mock_topic_set_error(rd_kafka_mock_cluster_t *mcluster,
|
|
232
|
+
const char *topic,
|
|
233
|
+
rd_kafka_resp_err_t err);
|
|
234
|
+
|
|
235
|
+
|
|
236
|
+
/**
|
|
237
|
+
* @brief Creates a topic.
|
|
238
|
+
*
|
|
239
|
+
* This is an alternative to automatic topic creation as performed by
|
|
240
|
+
* the client itself.
|
|
241
|
+
*
|
|
242
|
+
* @remark The Topic Admin API (CreateTopics) is not supported by the
|
|
243
|
+
* mock broker.
|
|
244
|
+
*/
|
|
245
|
+
RD_EXPORT rd_kafka_resp_err_t
|
|
246
|
+
rd_kafka_mock_topic_create(rd_kafka_mock_cluster_t *mcluster,
|
|
247
|
+
const char *topic,
|
|
248
|
+
int partition_cnt,
|
|
249
|
+
int replication_factor);
|
|
250
|
+
|
|
251
|
+
|
|
252
|
+
/**
|
|
253
|
+
* @brief Sets the partition leader.
|
|
254
|
+
*
|
|
255
|
+
* The topic will be created if it does not exist.
|
|
256
|
+
*
|
|
257
|
+
* \p broker_id needs to be an existing broker, or -1 to make the
|
|
258
|
+
* partition leader-less.
|
|
259
|
+
*/
|
|
260
|
+
RD_EXPORT rd_kafka_resp_err_t
|
|
261
|
+
rd_kafka_mock_partition_set_leader(rd_kafka_mock_cluster_t *mcluster,
|
|
262
|
+
const char *topic,
|
|
263
|
+
int32_t partition,
|
|
264
|
+
int32_t broker_id);
|
|
265
|
+
|
|
266
|
+
/**
|
|
267
|
+
* @brief Sets the partition's preferred replica / follower.
|
|
268
|
+
*
|
|
269
|
+
* The topic will be created if it does not exist.
|
|
270
|
+
*
|
|
271
|
+
* \p broker_id does not need to point to an existing broker.
|
|
272
|
+
*/
|
|
273
|
+
RD_EXPORT rd_kafka_resp_err_t
|
|
274
|
+
rd_kafka_mock_partition_set_follower(rd_kafka_mock_cluster_t *mcluster,
|
|
275
|
+
const char *topic,
|
|
276
|
+
int32_t partition,
|
|
277
|
+
int32_t broker_id);
|
|
278
|
+
|
|
279
|
+
/**
|
|
280
|
+
* @brief Sets the partition's preferred replica / follower low and high
|
|
281
|
+
* watermarks.
|
|
282
|
+
*
|
|
283
|
+
* The topic will be created if it does not exist.
|
|
284
|
+
*
|
|
285
|
+
* Setting an offset to -1 will revert back to the leader's corresponding
|
|
286
|
+
* watermark.
|
|
287
|
+
*/
|
|
288
|
+
RD_EXPORT rd_kafka_resp_err_t
|
|
289
|
+
rd_kafka_mock_partition_set_follower_wmarks(rd_kafka_mock_cluster_t *mcluster,
|
|
290
|
+
const char *topic,
|
|
291
|
+
int32_t partition,
|
|
292
|
+
int64_t lo,
|
|
293
|
+
int64_t hi);
|
|
294
|
+
|
|
295
|
+
/**
|
|
296
|
+
* @brief Push \p cnt Metadata leader response
|
|
297
|
+
* onto the cluster's stack for the given \p topic and \p partition.
|
|
298
|
+
*
|
|
299
|
+
* @param topic Topic to change
|
|
300
|
+
* @param partition Partition to change in \p topic
|
|
301
|
+
* @param leader_id Broker id of the leader node
|
|
302
|
+
* @param leader_epoch Leader epoch corresponding to the given \p leader_id
|
|
303
|
+
*
|
|
304
|
+
* @return Push operation error code
|
|
305
|
+
*/
|
|
306
|
+
RD_EXPORT
|
|
307
|
+
rd_kafka_resp_err_t
|
|
308
|
+
rd_kafka_mock_partition_push_leader_response(rd_kafka_mock_cluster_t *mcluster,
|
|
309
|
+
const char *topic,
|
|
310
|
+
int partition,
|
|
311
|
+
int32_t leader_id,
|
|
312
|
+
int32_t leader_epoch);
|
|
313
|
+
|
|
314
|
+
/**
|
|
315
|
+
* @brief Disconnects the broker and disallows any new connections.
|
|
316
|
+
* This does NOT trigger leader change.
|
|
317
|
+
*
|
|
318
|
+
* @param mcluster Mock cluster instance.
|
|
319
|
+
* @param broker_id Use -1 for all brokers, or >= 0 for a specific broker.
|
|
320
|
+
*/
|
|
321
|
+
RD_EXPORT rd_kafka_resp_err_t
|
|
322
|
+
rd_kafka_mock_broker_set_down(rd_kafka_mock_cluster_t *mcluster,
|
|
323
|
+
int32_t broker_id);
|
|
324
|
+
|
|
325
|
+
/**
|
|
326
|
+
* @brief Sets a new \p host and \p port for a given broker identified by
|
|
327
|
+
* \p broker_id.
|
|
328
|
+
*
|
|
329
|
+
* @param mcluster Mock cluster instance.
|
|
330
|
+
* @param broker_id The id of the broker to modify.
|
|
331
|
+
* @param host The new hostname.
|
|
332
|
+
* @param port The new port.
|
|
333
|
+
*/
|
|
334
|
+
RD_EXPORT void
|
|
335
|
+
rd_kafka_mock_broker_set_host_port(rd_kafka_mock_cluster_t *mcluster,
|
|
336
|
+
int32_t broker_id,
|
|
337
|
+
const char *host,
|
|
338
|
+
int port);
|
|
339
|
+
|
|
340
|
+
|
|
341
|
+
/**
|
|
342
|
+
* @brief Makes the broker accept connections again.
|
|
343
|
+
* This does NOT trigger leader change.
|
|
344
|
+
*
|
|
345
|
+
* @param mcluster Mock cluster instance.
|
|
346
|
+
* @param broker_id Use -1 for all brokers, or >= 0 for a specific broker.
|
|
347
|
+
*/
|
|
348
|
+
RD_EXPORT rd_kafka_resp_err_t
|
|
349
|
+
rd_kafka_mock_broker_set_up(rd_kafka_mock_cluster_t *mcluster,
|
|
350
|
+
int32_t broker_id);
|
|
351
|
+
|
|
352
|
+
|
|
353
|
+
/**
|
|
354
|
+
* @brief Set broker round-trip-time delay in milliseconds.
|
|
355
|
+
*
|
|
356
|
+
* @param mcluster Mock cluster instance.
|
|
357
|
+
* @param broker_id Use -1 for all brokers, or >= 0 for a specific broker.
|
|
358
|
+
*/
|
|
359
|
+
RD_EXPORT rd_kafka_resp_err_t
|
|
360
|
+
rd_kafka_mock_broker_set_rtt(rd_kafka_mock_cluster_t *mcluster,
|
|
361
|
+
int32_t broker_id,
|
|
362
|
+
int rtt_ms);
|
|
363
|
+
|
|
364
|
+
/**
|
|
365
|
+
* @brief Sets the broker's rack as reported in Metadata to the client.
|
|
366
|
+
*
|
|
367
|
+
* @param mcluster Mock cluster instance.
|
|
368
|
+
* @param broker_id Use -1 for all brokers, or >= 0 for a specific broker.
|
|
369
|
+
*/
|
|
370
|
+
RD_EXPORT rd_kafka_resp_err_t
|
|
371
|
+
rd_kafka_mock_broker_set_rack(rd_kafka_mock_cluster_t *mcluster,
|
|
372
|
+
int32_t broker_id,
|
|
373
|
+
const char *rack);
|
|
374
|
+
|
|
375
|
+
|
|
376
|
+
|
|
377
|
+
/**
|
|
378
|
+
* @brief Remove and delete a mock broker from a cluster.
|
|
379
|
+
* All partitions assigned to that broker will be
|
|
380
|
+
* reassigned to other brokers.
|
|
381
|
+
*
|
|
382
|
+
* @param cluster The mock cluster containing the broker
|
|
383
|
+
* @param broker_id The broker to delete
|
|
384
|
+
* @returns 0 on success or -1 on error
|
|
385
|
+
*/
|
|
386
|
+
RD_EXPORT rd_kafka_resp_err_t
|
|
387
|
+
rd_kafka_mock_broker_decommission(rd_kafka_mock_cluster_t *cluster,
|
|
388
|
+
int32_t broker_id);
|
|
389
|
+
|
|
390
|
+
/**
|
|
391
|
+
* @brief Add a new broker to the cluster.
|
|
392
|
+
* Cluster partition will be reassigned to use the new broker
|
|
393
|
+
* as well.
|
|
394
|
+
*
|
|
395
|
+
* @param mcluster The mock cluster
|
|
396
|
+
* @param broker_id The id of the broker to add
|
|
397
|
+
*
|
|
398
|
+
* @returns Error value or 0 if no error occurred
|
|
399
|
+
*/
|
|
400
|
+
RD_EXPORT rd_kafka_resp_err_t
|
|
401
|
+
rd_kafka_mock_broker_add(rd_kafka_mock_cluster_t *mcluster, int32_t broker_id);
|
|
402
|
+
|
|
403
|
+
|
|
404
|
+
/**
|
|
405
|
+
* @brief Explicitly sets the coordinator. If this API is not a standard
|
|
406
|
+
* hashing scheme will be used.
|
|
407
|
+
*
|
|
408
|
+
* @param key_type "transaction" or "group"
|
|
409
|
+
* @param key The transactional.id or group.id
|
|
410
|
+
* @param broker_id The new coordinator, does not have to be a valid broker.
|
|
411
|
+
*/
|
|
412
|
+
RD_EXPORT rd_kafka_resp_err_t
|
|
413
|
+
rd_kafka_mock_coordinator_set(rd_kafka_mock_cluster_t *mcluster,
|
|
414
|
+
const char *key_type,
|
|
415
|
+
const char *key,
|
|
416
|
+
int32_t broker_id);
|
|
417
|
+
|
|
418
|
+
|
|
419
|
+
|
|
420
|
+
/**
|
|
421
|
+
* @brief Set the allowed ApiVersion range for \p ApiKey.
|
|
422
|
+
*
|
|
423
|
+
* Set \p MinVersion and \p MaxVersion to -1 to disable the API
|
|
424
|
+
* completely.
|
|
425
|
+
*
|
|
426
|
+
* \p MaxVersion MUST not exceed the maximum implemented value,
|
|
427
|
+
* see rdkafka_mock_handlers.c.
|
|
428
|
+
*
|
|
429
|
+
* @param ApiKey Protocol request type/key
|
|
430
|
+
* @param MinVersion Minimum version supported (or -1 to disable).
|
|
431
|
+
* @param MinVersion Maximum version supported (or -1 to disable).
|
|
432
|
+
*/
|
|
433
|
+
RD_EXPORT rd_kafka_resp_err_t
|
|
434
|
+
rd_kafka_mock_set_apiversion(rd_kafka_mock_cluster_t *mcluster,
|
|
435
|
+
int16_t ApiKey,
|
|
436
|
+
int16_t MinVersion,
|
|
437
|
+
int16_t MaxVersion);
|
|
438
|
+
|
|
439
|
+
/**
|
|
440
|
+
* @brief Start tracking RPC requests for this mock cluster.
|
|
441
|
+
* @sa rd_kafka_mock_get_requests to get the requests.
|
|
442
|
+
*/
|
|
443
|
+
RD_EXPORT
|
|
444
|
+
void rd_kafka_mock_start_request_tracking(rd_kafka_mock_cluster_t *mcluster);
|
|
445
|
+
|
|
446
|
+
/**
|
|
447
|
+
* @brief Stop tracking RPC requests for this mock cluster.
|
|
448
|
+
* Does not clear already tracked requests.
|
|
449
|
+
*/
|
|
450
|
+
RD_EXPORT
|
|
451
|
+
void rd_kafka_mock_stop_request_tracking(rd_kafka_mock_cluster_t *mcluster);
|
|
452
|
+
|
|
453
|
+
/**
|
|
454
|
+
* @name Represents a request to the mock cluster along with a timestamp.
|
|
455
|
+
*/
|
|
456
|
+
typedef struct rd_kafka_mock_request_s rd_kafka_mock_request_t;
|
|
457
|
+
|
|
458
|
+
/**
|
|
459
|
+
* @brief Destroy a rd_kafka_mock_request_t * and deallocate memory.
|
|
460
|
+
*/
|
|
461
|
+
RD_EXPORT void rd_kafka_mock_request_destroy(rd_kafka_mock_request_t *mreq);
|
|
462
|
+
|
|
463
|
+
/**
|
|
464
|
+
* @brief Destroy a rd_kafka_mock_request_t * array and deallocate it.
|
|
465
|
+
*/
|
|
466
|
+
RD_EXPORT void
|
|
467
|
+
rd_kafka_mock_request_destroy_array(rd_kafka_mock_request_t **mreqs,
|
|
468
|
+
size_t mreq_cnt);
|
|
469
|
+
|
|
470
|
+
/**
|
|
471
|
+
* @brief Get the broker id to which \p mreq was sent.
|
|
472
|
+
*/
|
|
473
|
+
RD_EXPORT int32_t rd_kafka_mock_request_id(rd_kafka_mock_request_t *mreq);
|
|
474
|
+
|
|
475
|
+
/**
|
|
476
|
+
* @brief Get the ApiKey with which \p mreq was sent.
|
|
477
|
+
*/
|
|
478
|
+
RD_EXPORT int16_t rd_kafka_mock_request_api_key(rd_kafka_mock_request_t *mreq);
|
|
479
|
+
|
|
480
|
+
/**
|
|
481
|
+
* @brief Get the timestamp in micros at which \p mreq was sent.
|
|
482
|
+
*/
|
|
483
|
+
RD_EXPORT int64_t
|
|
484
|
+
rd_kafka_mock_request_timestamp(rd_kafka_mock_request_t *mreq);
|
|
485
|
+
|
|
486
|
+
/**
|
|
487
|
+
* @brief Get the list of requests sent to this mock cluster.
|
|
488
|
+
*
|
|
489
|
+
* @param cntp is set to the count of requests.
|
|
490
|
+
* @return List of rd_kafka_mock_request_t *.
|
|
491
|
+
* @remark each element of the returned array must be freed with
|
|
492
|
+
* rd_kafka_mock_request_destroy, and the list itself must be freed too.
|
|
493
|
+
*/
|
|
494
|
+
RD_EXPORT rd_kafka_mock_request_t **
|
|
495
|
+
rd_kafka_mock_get_requests(rd_kafka_mock_cluster_t *mcluster, size_t *cntp);
|
|
496
|
+
|
|
497
|
+
/**
|
|
498
|
+
* @brief Clear the list of requests sent to this mock broker, in case request
|
|
499
|
+
* tracking is/was turned on.
|
|
500
|
+
*/
|
|
501
|
+
RD_EXPORT void rd_kafka_mock_clear_requests(rd_kafka_mock_cluster_t *mcluster);
|
|
502
|
+
|
|
503
|
+
/**
|
|
504
|
+
* @brief Set the metrics that are expected by the broker for telemetry
|
|
505
|
+
* collection.
|
|
506
|
+
*
|
|
507
|
+
* @param metrics List of prefixes of metric names or NULL.
|
|
508
|
+
* @param metrics_cnt
|
|
509
|
+
*
|
|
510
|
+
* @note if \p metrics is NULL, no metrics will be expected by the broker. If
|
|
511
|
+
* the first elements of \p metrics is an empty string, that indicates the
|
|
512
|
+
* broker expects all metrics.
|
|
513
|
+
*/
|
|
514
|
+
RD_EXPORT rd_kafka_resp_err_t
|
|
515
|
+
rd_kafka_mock_telemetry_set_requested_metrics(rd_kafka_mock_cluster_t *mcluster,
|
|
516
|
+
char **metrics,
|
|
517
|
+
size_t metrics_cnt);
|
|
518
|
+
|
|
519
|
+
|
|
520
|
+
/**
|
|
521
|
+
* @brief Set push frequency to be sent to the client for telemetry collection.
|
|
522
|
+
* when the broker receives GetTelemetrySubscription requests.
|
|
523
|
+
*
|
|
524
|
+
* @param push_interval_ms time for push in milliseconds. Must be more than 0.
|
|
525
|
+
*/
|
|
526
|
+
RD_EXPORT rd_kafka_resp_err_t
|
|
527
|
+
rd_kafka_mock_telemetry_set_push_interval(rd_kafka_mock_cluster_t *mcluster,
|
|
528
|
+
int64_t push_interval_ms);
|
|
529
|
+
|
|
530
|
+
typedef struct rd_kafka_mock_cgrp_consumer_target_assignment_s
|
|
531
|
+
rd_kafka_mock_cgrp_consumer_target_assignment_t;
|
|
532
|
+
|
|
533
|
+
/**
|
|
534
|
+
* @brief Create a new target assignment for \p member_cnt members
|
|
535
|
+
* given a member id and a member assignment for each member `i`,
|
|
536
|
+
* specified in \p member_ids[i] and \p assignment[i].
|
|
537
|
+
*
|
|
538
|
+
* @remark used for mocking target assignment
|
|
539
|
+
* in KIP-848 consumer group protocol.
|
|
540
|
+
*
|
|
541
|
+
* @param member_ids Array of member ids of size \p member_cnt.
|
|
542
|
+
* @param member_cnt Number of members.
|
|
543
|
+
* @param assignment Array of (rd_kafka_topic_partition_list_t *) of size \p
|
|
544
|
+
* member_cnt.
|
|
545
|
+
*/
|
|
546
|
+
RD_EXPORT rd_kafka_mock_cgrp_consumer_target_assignment_t *
|
|
547
|
+
rd_kafka_mock_cgrp_consumer_target_assignment_new(
|
|
548
|
+
char **member_ids,
|
|
549
|
+
int member_cnt,
|
|
550
|
+
rd_kafka_topic_partition_list_t **assignment);
|
|
551
|
+
|
|
552
|
+
/**
|
|
553
|
+
* @brief Destroy target assignment \p target_assignment .
|
|
554
|
+
*/
|
|
555
|
+
RD_EXPORT void rd_kafka_mock_cgrp_consumer_target_assignment_destroy(
|
|
556
|
+
rd_kafka_mock_cgrp_consumer_target_assignment_t *target_assignment);
|
|
557
|
+
|
|
558
|
+
/**
|
|
559
|
+
* @brief Sets next target assignment for the group
|
|
560
|
+
* identified by \p group_id to the
|
|
561
|
+
* target assignment contained in \p target_assignment,
|
|
562
|
+
* in the cluster \p mcluster.
|
|
563
|
+
*
|
|
564
|
+
* @remark used for mocking target assignment
|
|
565
|
+
* in KIP-848 consumer group protocol.
|
|
566
|
+
*
|
|
567
|
+
* @param mcluster Mock cluster instance.
|
|
568
|
+
* @param group_id Group id.
|
|
569
|
+
* @param target_assignment Target assignment for all the members.
|
|
570
|
+
*/
|
|
571
|
+
RD_EXPORT void rd_kafka_mock_cgrp_consumer_target_assignment(
|
|
572
|
+
rd_kafka_mock_cluster_t *mcluster,
|
|
573
|
+
const char *group_id,
|
|
574
|
+
rd_kafka_mock_cgrp_consumer_target_assignment_t *target_assignment);
|
|
575
|
+
|
|
576
|
+
/**
|
|
577
|
+
* @brief Sets group.consumer.session.timeout.ms
|
|
578
|
+
* for the cluster \p mcluster to \p group_consumer_session_timeout_ms.
|
|
579
|
+
*
|
|
580
|
+
* @remark used in KIP-848 consumer group protocol.
|
|
581
|
+
*
|
|
582
|
+
* @param mcluster Mock cluster instance.
|
|
583
|
+
* @param group_consumer_session_timeout_ms Session timeout in milliseconds.
|
|
584
|
+
*/
|
|
585
|
+
RD_EXPORT void rd_kafka_mock_set_group_consumer_session_timeout_ms(
|
|
586
|
+
rd_kafka_mock_cluster_t *mcluster,
|
|
587
|
+
int group_consumer_session_timeout_ms);
|
|
588
|
+
|
|
589
|
+
/**
|
|
590
|
+
* @brief Sets group.consumer.heartbeat.interval.ms
|
|
591
|
+
* for the cluster \p mcluster to \p
|
|
592
|
+
* group_consumer_heartbeat_interval_ms.
|
|
593
|
+
*
|
|
594
|
+
* @remark used in KIP-848 consumer group protocol.
|
|
595
|
+
*
|
|
596
|
+
* @param mcluster Mock cluster instance.
|
|
597
|
+
* @param group_consumer_heartbeat_interval_ms Heartbeat interval in
|
|
598
|
+
* milliseconds.
|
|
599
|
+
*/
|
|
600
|
+
RD_EXPORT void rd_kafka_mock_set_group_consumer_heartbeat_interval_ms(
|
|
601
|
+
rd_kafka_mock_cluster_t *mcluster,
|
|
602
|
+
int group_consumer_heartbeat_interval_ms);
|
|
603
|
+
|
|
604
|
+
|
|
605
|
+
/**@}*/
|
|
606
|
+
|
|
607
|
+
#ifdef __cplusplus
|
|
608
|
+
}
|
|
609
|
+
#endif
|
|
610
|
+
#endif /* _RDKAFKA_MOCK_H_ */
|