aboutsummaryrefslogtreecommitdiffstats
path: root/mumlib/src/config.rs
diff options
context:
space:
mode:
authorEskil <eskilq@kth.se>2020-11-03 22:02:11 +0100
committerEskil <eskilq@kth.se>2020-11-03 22:02:11 +0100
commit831182b69eb1bbfedfad1288b73a822241f18d25 (patch)
tree658ad93f339ade36a992643bdff91bf18ec0c347 /mumlib/src/config.rs
parent8fb4edd72dfcb2b71e91eedc5861360101374967 (diff)
parentf169a04da325b6467335812a53b315f1ecc8c7ad (diff)
downloadmum-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.rs14
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);