use std::time::Duration;
use crate::discovery_etcd::watch::BackoffConfig;
#[derive(Debug, Clone, PartialEq, Eq)]
pub struct EtcdAuthConfig {
pub username: String,
pub password: String,
}
#[derive(Debug, Clone, PartialEq, Eq)]
pub struct EtcdDiscoveryConfig {
pub endpoints: Vec<String>,
pub prefix: String,
pub lease_ttl: i64,
pub reconnect_interval: Duration,
pub connect_timeout: Duration,
pub operation_timeout: Duration,
pub keep_alive_interval: Duration,
pub keep_alive_timeout: Duration,
pub watch_backoff: BackoffConfig,
pub auth: Option<EtcdAuthConfig>,
}
impl Default for EtcdDiscoveryConfig {
fn default() -> Self {
Self {
endpoints: vec!["http://127.0.0.1:2379".to_string()],
prefix: "/rs-zero".to_string(),
lease_ttl: 30,
reconnect_interval: Duration::from_secs(1),
connect_timeout: Duration::from_secs(3),
operation_timeout: Duration::from_secs(3),
keep_alive_interval: Duration::from_secs(5),
keep_alive_timeout: Duration::from_secs(3),
watch_backoff: BackoffConfig::default(),
auth: None,
}
}
}