lighthouse-pulse/lighthouse/config/mod.rs

32 lines
884 B
Rust
Raw Normal View History

2018-08-16 04:17:28 +00:00
use std::{ env, fs };
2018-08-06 23:13:24 +00:00
use std::path::PathBuf;
2018-08-23 05:11:15 +00:00
/// Stores the core configuration for this Lighthouse instance.
/// This struct is general, other components may implement more
/// specialized config structs.
2018-08-06 23:13:24 +00:00
#[derive(Clone)]
pub struct LighthouseConfig {
pub data_dir: PathBuf,
2018-08-07 00:08:39 +00:00
pub p2p_listen_port: u16,
2018-08-06 23:13:24 +00:00
}
const DEFAULT_LIGHTHOUSE_DIR: &str = ".lighthouse";
impl LighthouseConfig {
/// Build a new lighthouse configuration from defaults.
pub fn default() -> Self{
let data_dir = {
let home = env::home_dir()
.expect("Unable to determine home dir.");
home.join(DEFAULT_LIGHTHOUSE_DIR)
};
2018-08-23 05:11:15 +00:00
fs::create_dir_all(&data_dir)
.expect(&format!("Unable to create {:?}", &data_dir));
2018-08-07 00:08:39 +00:00
let p2p_listen_port = 0;
2018-08-06 23:13:24 +00:00
Self {
data_dir,
p2p_listen_port,
}
}
}