use std::time::Duration;
#[derive(Debug, Clone)]
pub struct ClientConfig {
pub url: String,
pub bearer_token: Option<String>,
pub http_req_timeout: Duration,
pub max_num_retries: u32,
pub retry_base_ms: u64,
pub retry_ceiling_ms: u64,
}
impl Default for ClientConfig {
fn default() -> Self {
Self {
url: String::new(),
bearer_token: None,
http_req_timeout: Duration::from_secs(30),
max_num_retries: 12,
retry_base_ms: 500,
retry_ceiling_ms: 5_000,
}
}
}
#[derive(Debug, Clone)]
pub struct StreamConfig {
pub batch_size: u64,
pub max_batch_size: u64,
pub min_batch_size: u64,
pub concurrency: usize,
pub response_bytes_ceiling: u64,
pub response_bytes_floor: u64,
}
impl Default for StreamConfig {
fn default() -> Self {
Self {
batch_size: 1_000,
max_batch_size: 200_000,
min_batch_size: 100,
concurrency: 10,
response_bytes_ceiling: 500_000,
response_bytes_floor: 250_000,
}
}
}