use std::sync::Arc; use serde::Deserialize; const fn default_port() -> u16 { 6667 } const fn default_nick_len() -> u32 { 9 } fn default_user_nick() -> String { "abridged".to_owned() } fn default_suffix() -> Arc { "[i]".into() } #[derive(Clone, Debug, Deserialize)] pub struct IrcSpConfig { pub server_name: String, pub peer_host: String, #[serde(default="default_port")] pub peer_port: u16, pub password: String, pub peer_password: String, #[serde(default="default_user_nick")] pub user_nick: String, #[serde(default="default_nick_len")] pub max_nick_len: u32, #[serde(default="default_suffix")] pub suffix: Arc, }