use crate::stream_options::defaults;
use arrow_ipc::CompressionType;
#[derive(Clone, Debug)]
pub struct ArrowStreamConfigurationOptions {
pub max_inflight_batches: usize,
pub recovery: bool,
pub recovery_timeout_ms: u64,
pub recovery_backoff_ms: u64,
pub recovery_retries: u32,
pub server_lack_of_ack_timeout_ms: u64,
pub flush_timeout_ms: u64,
pub connection_timeout_ms: u64,
pub ipc_compression: Option<CompressionType>,
}
impl Default for ArrowStreamConfigurationOptions {
fn default() -> Self {
Self {
max_inflight_batches: 1_000,
recovery: defaults::RECOVERY,
recovery_timeout_ms: defaults::RECOVERY_TIMEOUT_MS,
recovery_backoff_ms: defaults::RECOVERY_BACKOFF_MS,
recovery_retries: defaults::RECOVERY_RETRIES,
server_lack_of_ack_timeout_ms: defaults::SERVER_LACK_OF_ACK_TIMEOUT_MS,
flush_timeout_ms: defaults::FLUSH_TIMEOUT_MS,
connection_timeout_ms: defaults::CONNECTION_TIMEOUT_MS,
ipc_compression: None,
}
}
}