summaryrefslogtreecommitdiff
path: root/src/config.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/config.rs')
-rw-r--r--src/config.rs54
1 files changed, 0 insertions, 54 deletions
diff --git a/src/config.rs b/src/config.rs
deleted file mode 100644
index da65385..0000000
--- a/src/config.rs
+++ /dev/null
@@ -1,54 +0,0 @@
-use crate::TwinHError;
-use once_cell::sync::Lazy;
-use std::{env, error::Error, net::IpAddr, net::Ipv4Addr, net::SocketAddr};
-
-pub static CONFIG_INSTANCE: Lazy<Config> = Lazy::new(|| match Config::new() {
- Ok(c) => c,
- Err(e) => panic!("twinh: config error: {}", e),
-});
-
-#[derive(Clone, Debug)]
-pub struct Config {
- pub bind_addr: SocketAddr,
- pub db_path: String,
-}
-
-impl Default for Config {
- fn default() -> Self {
- Self {
- bind_addr: SocketAddr::new(IpAddr::V4(Ipv4Addr::new(127, 0, 0, 1)), 5353),
- db_path: String::from("/var/db/twinh"),
- }
- }
-}
-
-impl Config {
- fn new() -> Result<Self, Box<dyn Error>> {
- let mut args = env::args().skip(1);
-
- let db_path = args
- .next()
- .ok_or_else(|| TwinHError(String::from("database directory not provided")))?;
-
- let mut config = Config {
- bind_addr: SocketAddr::new(IpAddr::V4(Ipv4Addr::new(127, 0, 0, 1)), 5353),
- db_path,
- };
-
- while let Some(arg) = args.next() {
- match arg.as_str() {
- "--addr" => {
- let addr = args.next().unwrap_or_default().parse()?;
- config.bind_addr.set_ip(addr);
- }
- "--port" => {
- let port = args.next().unwrap_or_default().parse()?;
- config.bind_addr.set_port(port);
- }
- _ => {}
- };
- }
-
- Ok(config)
- }
-}