use std::time::Duration;
use tokio_tungstenite::tungstenite::protocol::WebSocketConfig;
#[derive(Debug, Clone)]
pub struct ClientConfig {
pub channel_capacity: usize,
pub max_retry_attempts: i32,
pub retry_connection: Duration,
pub request_timeout: Duration,
pub bearer_token: Option<String>,
pub ws_config: WebSocketConfig,
}
impl Default for ClientConfig {
fn default() -> Self {
Self {
channel_capacity: 8192,
max_retry_attempts: 36,
retry_connection: Duration::from_secs(10),
request_timeout: Duration::from_secs(15),
bearer_token: None,
ws_config: WebSocketConfig::default(),
}
}
}
impl ClientConfig {
pub fn with_bearer(bearer: &str) -> Self {
Self {
bearer_token: Some(bearer.to_string()),
..Default::default()
}
}
}