1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52
//! # rdkafka-sys //! //! Low level bindings to [librdkafka](https://github.com/edenhill/librdkafka). //! //! ## Bindings //! //! To regenerate the bindings: //! //! ``` bash //! git submodule update --init //! cargo install bindgen --vers 0.30.0 //! bindgen --builtins --no-doc-comments librdkafka/src/rdkafka.h -o src/bindings/{platform}.rs //! ``` //! //! ## Version //! //! The rdkafka-sys version number is in the format `X.Y.Z-P`, where `X.Y.Z` //! corresponds to the librdkafka version, and `P` indicates the version of the //! rust bindings. //! //! ## Build //! //! By default a submodule with the librdkafka sources pinned to a specific commit will //! be used to compile and statically link the library. //! //! The `dynamic_linking` feature can be used to link rdkafka to a locally installed //! version of librdkafka: if the feature is enabled, the build script will use `pkg-config` //! to check the version of the library installed in the system, and it will configure the //! compiler to use dynamic linking. //! //! The build process is defined in [`build.rs`]. //! //! [`build.rs`]: https://github.com/fede1024/rust-rdkafka/blob/master/rdkafka-sys/build.rs //! //! ## Updating //! //! To upgrade change the git submodule in `librdkafka`, check if new errors //! need to be added to `helpers::primive_to_rd_kafka_resp_err_t` and update //! the version in `Cargo.toml`. #[cfg(feature = "ssl")] extern crate openssl_sys; extern crate libz_sys; pub mod bindings; pub mod helpers; pub mod types; pub use bindings::*; pub use helpers::*; pub use types::*;