gitdataai/lib/channel/config.rs
2026-05-30 01:38:40 +08:00

39 lines
1.4 KiB
Rust

#[derive(Clone, Debug)]
pub struct ChannelBusConfig {
pub namespace: String,
pub room_cache_ttl_hint: Option<std::time::Duration>,
pub catchup_limit: i64,
pub signing_secret: Option<String>,
pub seq_segment_size: Option<u64>,
pub rate_limit_max_requests: Option<u32>,
pub rate_limit_window_secs: Option<u64>,
pub dedup_window_secs: Option<u64>,
pub ack_timeout_secs: Option<u64>,
pub revoke_window_secs: Option<u64>,
pub circuit_breaker_failure_threshold: Option<u32>,
pub circuit_breaker_success_threshold: Option<u32>,
pub circuit_breaker_timeout_secs: Option<u64>,
pub circuit_breaker_half_open_max_calls: Option<u32>,
}
impl Default for ChannelBusConfig {
fn default() -> Self {
Self {
namespace: "/channel".to_owned(),
room_cache_ttl_hint: Some(std::time::Duration::from_secs(300)),
catchup_limit: 100,
signing_secret: None,
seq_segment_size: None,
rate_limit_max_requests: None,
rate_limit_window_secs: None,
dedup_window_secs: None,
ack_timeout_secs: None,
revoke_window_secs: None,
circuit_breaker_failure_threshold: None,
circuit_breaker_success_threshold: None,
circuit_breaker_timeout_secs: None,
circuit_breaker_half_open_max_calls: None,
}
}
}