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 异步
568,819 每月下载量
在 109 个crate中使用 (5个直接使用)
10MB
131K 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