drmem_db_redis/
config.rs

1use serde_derive::Deserialize;
2use std::net::{IpAddr, Ipv4Addr, SocketAddr};
3
4#[derive(Deserialize, Clone)]
5pub struct Config {
6    pub addr: Option<SocketAddr>,
7    pub dbn: Option<i64>,
8}
9
10impl<'a> Config {
11    pub const fn new() -> Config {
12        Config {
13            addr: None,
14            dbn: None,
15        }
16    }
17
18    pub fn get_addr(&'a self) -> SocketAddr {
19        self.addr.unwrap_or_else(|| {
20            SocketAddr::new(IpAddr::V4(Ipv4Addr::new(127, 0, 0, 1)), 6379)
21        })
22    }
23
24    #[cfg(debug_assertions)]
25    pub fn get_dbn(&self) -> i64 {
26        self.dbn.unwrap_or(1)
27    }
28    #[cfg(not(debug_assertions))]
29    pub fn get_dbn(&self) -> i64 {
30        self.dbn.unwrap_or(0)
31    }
32}
33
34pub static DEF: Config = Config::new();