use std::time::Duration;
use crate::frame::Codec;
#[derive(Debug, Clone)]
pub struct RiftClientConfig {
pub client_id: String,
pub token: String,
pub session_id: Option<String>,
pub epoch: u32,
pub codecs: Vec<Codec>,
pub features: Vec<String>,
pub last_offsets: std::collections::BTreeMap<String, i64>,
pub auto_reconnect: bool,
pub reconnect_delay: Duration,
pub max_reconnect_attempts: u32,
}
impl Default for RiftClientConfig {
fn default() -> Self {
Self {
client_id: String::new(),
token: String::new(),
session_id: None,
epoch: 1,
codecs: vec![Codec::Cbor, Codec::Json],
features: vec!["resume".into()],
last_offsets: std::collections::BTreeMap::new(),
auto_reconnect: true,
reconnect_delay: Duration::from_secs(1),
max_reconnect_attempts: 10,
}
}
}