use crate::client::RequiredAcks;
pub const DEFAULT_ACK_TIMEOUT_MILLIS: u64 = 30 * 1000;
pub const DEFAULT_REQUIRED_ACKS: RequiredAcks = RequiredAcks::One;
pub const DEFAULT_BATCH_SIZE: usize = 16_384;
pub const DEFAULT_LINGER_MS: u64 = 5;
pub const DEFAULT_MAX_BATCH_BYTES: usize = 1_048_576;
pub(crate) struct Config {
pub ack_timeout: i32,
pub required_acks: i16,
pub enable_idempotence: bool,
pub transactional_id: Option<String>,
}
#[derive(Debug, Clone)]
pub struct BatchConfig {
pub batch_size: usize,
pub linger_ms: u64,
pub max_bytes: usize,
}
impl Default for BatchConfig {
fn default() -> Self {
Self {
batch_size: DEFAULT_BATCH_SIZE,
linger_ms: DEFAULT_LINGER_MS,
max_bytes: DEFAULT_MAX_BATCH_BYTES,
}
}
}