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::*;