From 11c823701b12f10933b40044a12cc4048ccf8bd2 Mon Sep 17 00:00:00 2001 From: Eskil Queseth Date: Sat, 31 Oct 2020 02:27:26 +0100 Subject: add support for mumctl server list --- mumlib/src/command.rs | 10 ++++++++++ mumlib/src/config.rs | 11 +++++++++++ mumlib/src/lib.rs | 1 + 3 files changed, 22 insertions(+) (limited to 'mumlib/src') diff --git a/mumlib/src/command.rs b/mumlib/src/command.rs index e404056..26071ac 100644 --- a/mumlib/src/command.rs +++ b/mumlib/src/command.rs @@ -18,6 +18,10 @@ pub enum Command { }, ServerDisconnect, Status, + ServerStatus { + host: String, + port: u16, + }, } #[derive(Debug, Deserialize, Serialize)] @@ -25,4 +29,10 @@ pub enum CommandResponse { ChannelList { channels: Channel }, ServerConnect { welcome_message: Option }, Status { server_state: Server }, + ServerStatus { + version: u32, + users: u32, + max_users: u32, + bandwidth: u32, + }, } diff --git a/mumlib/src/config.rs b/mumlib/src/config.rs index e6b97fd..e7d107a 100644 --- a/mumlib/src/config.rs +++ b/mumlib/src/config.rs @@ -4,6 +4,8 @@ use std::fs; use std::path::Path; use toml::value::Array; use toml::Value; +use std::net::{SocketAddr, ToSocketAddrs}; +use crate::DEFAULT_PORT; #[derive(Debug, Deserialize, Serialize)] struct TOMLConfig { @@ -58,6 +60,15 @@ pub struct ServerConfig { pub password: Option, } +impl ServerConfig { + pub fn to_socket_addr(&self) -> Option { + 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); diff --git a/mumlib/src/lib.rs b/mumlib/src/lib.rs index a54990e..439efa9 100644 --- a/mumlib/src/lib.rs +++ b/mumlib/src/lib.rs @@ -7,6 +7,7 @@ use colored::*; use log::*; pub const SOCKET_PATH: &str = "/var/tmp/mumd"; +pub const DEFAULT_PORT: u16 = 64738; pub fn setup_logger>(target: T, color: bool) { fern::Dispatch::new() -- cgit v1.2.1 From d72b0fe5862a99d9ce1a0ef37938f4517de36ed7 Mon Sep 17 00:00:00 2001 From: Eskil Queseth Date: Sat, 31 Oct 2020 02:37:24 +0100 Subject: cargo fmt --- mumlib/src/command.rs | 12 +++++++++--- mumlib/src/config.rs | 9 ++++++--- 2 files changed, 15 insertions(+), 6 deletions(-) (limited to 'mumlib/src') diff --git a/mumlib/src/command.rs b/mumlib/src/command.rs index 26071ac..9b0c9ed 100644 --- a/mumlib/src/command.rs +++ b/mumlib/src/command.rs @@ -26,9 +26,15 @@ pub enum Command { #[derive(Debug, Deserialize, Serialize)] pub enum CommandResponse { - ChannelList { channels: Channel }, - ServerConnect { welcome_message: Option }, - Status { server_state: Server }, + ChannelList { + channels: Channel, + }, + ServerConnect { + welcome_message: Option, + }, + Status { + server_state: Server, + }, ServerStatus { version: u32, users: u32, diff --git a/mumlib/src/config.rs b/mumlib/src/config.rs index e7d107a..ae569aa 100644 --- a/mumlib/src/config.rs +++ b/mumlib/src/config.rs @@ -1,11 +1,11 @@ +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; -use std::net::{SocketAddr, ToSocketAddrs}; -use crate::DEFAULT_PORT; #[derive(Debug, Deserialize, Serialize)] struct TOMLConfig { @@ -62,7 +62,10 @@ pub struct ServerConfig { impl ServerConfig { pub fn to_socket_addr(&self) -> Option { - match (self.host.as_str(), self.port.unwrap_or(DEFAULT_PORT)).to_socket_addrs().map(|mut e| e.next()) { + 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, } -- cgit v1.2.1