29 个版本 (15 个稳定版本)

4.7.0+2.3.0 2023年11月7日
4.5.0+1.9.2 2023年6月9日
4.3.0+1.9.2 2022年10月29日
4.2.0+1.8.2 2021年11月27日
0.9.2-0 2016年11月26日

#192 in 异步

Download history 130303/week @ 2024-04-21 121225/week @ 2024-04-28 123760/week @ 2024-05-05 134407/week @ 2024-05-12 137839/week @ 2024-05-19 132140/week @ 2024-05-26 151385/week @ 2024-06-02 152409/week @ 2024-06-09 141922/week @ 2024-06-16 134464/week @ 2024-06-23 135112/week @ 2024-06-30 156669/week @ 2024-07-07 156707/week @ 2024-07-14 157447/week @ 2024-07-21 151830/week @ 2024-07-28 99680/week @ 2024-08-04

568,819 每月下载量
109 个crate中使用 (5个直接使用)

MIT 许可证

10MB
131K SLoC

C 110K SLoC // 0.2% comments C++ 10K SLoC // 0.2% comments Rust 4.5K SLoC // 0.0% comments Python 2.5K SLoC // 0.2% comments Visual Studio Project 1.5K SLoC // 0.0% comments Shell 1.5K SLoC // 0.2% comments Visual Studio Solution 226 SLoC Java 181 SLoC // 0.3% comments RPM Specfile 85 SLoC // 0.1% comments PowerShell 81 SLoC // 0.2% comments jq 38 SLoC // 0.1% comments Forge Config 35 SLoC GDB Script 24 SLoC Batch 18 SLoC Bitbake 18 SLoC

包含 (ZIP文件,680KB) p-common__plat-windows__arch-win32__bldtyp、(ZIP文件,665KB) p-common__plat-windows__arch-x64__bldtype-、(ZIP文件,625KB) p-common__plat-windows__arch-x64__bldtype-、(ZIP文件,520KB) p-common__plat-windows__arch-win32__bldtyp

rdkafka-sys

librdkafka的低级别绑定,librdkafka是一个C库,用于Apache Kafka协议,具有生产者、消费者和管理客户端。

有关安全包装,请参阅rdkafka crate。

版本

rdkafka-sys的版本号格式为 X.Y.Z+RX.RY.RZ,其中 X.Y.Z 是此crate的版本,遵循SemVer约定,而 RX.RY.RZ 是捆绑的librdkafka的版本。

注意,v2.0.0+1.4.2之前的版本没有遵循此约定,而是直接对应于捆绑的librdkafka版本。

构建

已知问题

  • 当启用librdkafka的可选依赖库,如libz或OpenSSL时,如果您的系统上安装了该库的多个版本,librdkafka的构建系统可能与Cargo在库版本选择上产生分歧!这可能导致微妙的构建错误,如果librdkafka针对一个版本的头部文件进行编译,而Cargo链接到另一个版本。为了在构建发布版二进制文件时获得完全的信心,请使用Docker容器或chroot监狱等环境,确保每个依赖库只有一个版本存在。Cargo当前的设计不幸地使得这个问题几乎无法修复。

  • 仅在通过cmake-build Cargo功能使用CMake构建系统时,才支持Windows。

功能

默认情况下,将使用带有librdkafka源代码的子模块来编译和静态链接库。

可以使用dynamic-linking功能将rdkafka链接到本地安装的librdkafka版本:如果启用该功能,构建脚本将使用pkg-config检查系统中安装的库版本,并配置编译器动态链接到它。系统上的librdkafka版本必须与这个crate捆绑的librdkafka版本完全匹配。

cmake-build功能使用librdkafka的CMake构建系统来构建librdkafka,而不是其默认的mklove基于的构建系统。此功能需要在构建机器上安装CMake。

以下功能直接对应于librdkafka的功能(即,如果您手动编译,则传递给configure的标志)。

  • ssl功能启用SSL支持。默认情况下,系统OpenSSL库是动态链接的,但可以通过ssl-vendored功能请求捆绑到openssl-sys crate的版本进行静态链接。
  • gssapi功能启用SASL GSSAPI支持与Cyrus libsasl2。默认情况下,系统的libsasl2是动态链接的,但可以通过gssapi-vendored功能请求捆绑到sasl2-sys crate的版本进行静态链接。
  • libz功能启用对zlib压缩的支持。默认情况下,此功能启用。默认情况下,系统的libz是动态链接的,但可以通过libz-static功能请求捆绑到libz-sys crate的版本进行静态链接。
  • curl功能启用通过curl的HTTP客户端。默认情况下,系统的curl是动态链接的,但可以通过curl-static功能请求捆绑到curl-sys crate的版本进行静态链接。
  • zstd功能启用对ZSTD压缩的支持。默认情况下,这将构建并静态链接捆绑到zstd-sys crate的版本,但可以通过zstd-pkg-config功能请求系统版本的动态链接。
  • external-lz4功能使用捆绑到lz4-sys crate的liblz4版本进行静态链接。默认情况下,librdkafka静态链接到其捆绑的liblz4版本。由于lz4-sys的限制,目前尚无法动态链接到系统版本的liblz4。

除非另有说明,否则默认禁用所有功能。构建过程定义在build.rs中。

依赖项

~1–15MB
~199K SLoC