diff options
| author | Eskil <eskilq@kth.se> | 2020-11-03 22:02:11 +0100 |
|---|---|---|
| committer | Eskil <eskilq@kth.se> | 2020-11-03 22:02:11 +0100 |
| commit | 831182b69eb1bbfedfad1288b73a822241f18d25 (patch) | |
| tree | 658ad93f339ade36a992643bdff91bf18ec0c347 /mumlib/src/config.rs | |
| parent | 8fb4edd72dfcb2b71e91eedc5861360101374967 (diff) | |
| parent | f169a04da325b6467335812a53b315f1ecc8c7ad (diff) | |
| download | mum-831182b69eb1bbfedfad1288b73a822241f18d25.tar.gz | |
Merge branch 'server-status' into 'main'
Add support for mumctl server list
Closes #29
See merge request gustav/mum!27
Diffstat (limited to 'mumlib/src/config.rs')
| -rw-r--r-- | mumlib/src/config.rs | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/mumlib/src/config.rs b/mumlib/src/config.rs index e6b97fd..ae569aa 100644 --- a/mumlib/src/config.rs +++ b/mumlib/src/config.rs @@ -1,6 +1,8 @@ +use crate::DEFAULT_PORT; use serde::{Deserialize, Serialize}; use std::convert::TryFrom; use std::fs; +use std::net::{SocketAddr, ToSocketAddrs}; use std::path::Path; use toml::value::Array; use toml::Value; @@ -58,6 +60,18 @@ pub struct ServerConfig { pub password: Option<String>, } +impl ServerConfig { + pub fn to_socket_addr(&self) -> Option<SocketAddr> { + match (self.host.as_str(), self.port.unwrap_or(DEFAULT_PORT)) + .to_socket_addrs() + .map(|mut e| e.next()) + { + Ok(Some(addr)) => Some(addr), + _ => None, + } + } +} + pub fn get_cfg_path() -> String { if let Ok(var) = std::env::var("XDG_CONFIG_HOME") { let path = format!("{}/mumdrc", var); |
