#[derive(Clone, Debug)] pub struct ChannelBusConfig { pub namespace: String, pub room_cache_ttl_hint: Option, pub catchup_limit: i64, pub signing_secret: Option, pub seq_segment_size: Option, pub rate_limit_max_requests: Option, pub rate_limit_window_secs: Option, pub dedup_window_secs: Option, pub ack_timeout_secs: Option, pub revoke_window_secs: Option, pub circuit_breaker_failure_threshold: Option, pub circuit_breaker_success_threshold: Option, pub circuit_breaker_timeout_secs: Option, pub circuit_breaker_half_open_max_calls: Option, } 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, } } }