#![forbid(unsafe_code)]
mod config;
mod error;
mod metrics;
mod native;
mod offset;
#[doc(hidden)]
pub mod profile;
mod record;
mod sink;
mod source;
pub use config::{
CommitPolicy, KafkaConfig, KafkaConsumerBackend, KafkaConsumerSettings, KafkaProducerBackend,
KafkaProducerSettings, Offset, Subscription, TopicPartitionOffset,
};
pub use error::{MqError, MqResult};
pub use metrics::{KafkaMetrics, KafkaMetricsSnapshot};
pub use offset::{KafkaBatchOffset, KafkaOffset, KafkaOffsetBatch, OffsetCommit, TopicPartition};
pub use record::{ConsumerRecord, KafkaHeader, KafkaTimestamp, ProducerRecord};
pub use sink::{KafkaProducerControl, KafkaSink};
pub use source::{KafkaControl, KafkaPayloadBatch, KafkaPayloadRecord, KafkaSource};
pub const VERSION: &str = env!("CARGO_PKG_VERSION");
#[cfg(feature = "rdkafka")]
pub(crate) const fn consumer_rdkafka_hint() -> &'static str {
"select KafkaConsumerBackend::Rdkafka"
}
#[cfg(not(feature = "rdkafka"))]
pub(crate) const fn consumer_rdkafka_hint() -> &'static str {
"enable the datum-mq Cargo feature `rdkafka` and select KafkaConsumerBackend::Rdkafka"
}
#[cfg(feature = "rdkafka")]
pub(crate) const fn producer_rdkafka_hint() -> &'static str {
"select KafkaProducerBackend::Rdkafka"
}
#[cfg(not(feature = "rdkafka"))]
pub(crate) const fn producer_rdkafka_hint() -> &'static str {
"enable the datum-mq Cargo feature `rdkafka` and select KafkaProducerBackend::Rdkafka"
}