use config_file_handler::{self, FileHandler};
use std::ffi::OsString;
use std::net::SocketAddr;
const _ENABLE_BOOTSTRAP_CACHE: bool = false;
const _MAX_BOOTSTRAP_CACHE_CONTACTS: usize = 1500;
pub struct Cache {
file_handler: FileHandler<Vec<SocketAddr>>,
}
impl Cache {
pub fn _cleanup() -> ::Res<()> {
config_file_handler::cleanup(&Self::get_default_file_name()?)?;
Ok(())
}
pub fn new(name: &Option<String>) -> ::Res<Self> {
let name = if let Some(name) = name.clone() {
OsString::from(name)
} else {
Self::get_default_file_name()?
};
Ok(Cache {
file_handler: FileHandler::new(&name, true)?, })
}
pub fn get_default_file_name() -> ::Res<OsString> {
let mut name = config_file_handler::exe_file_stem()?;
name.push(".bootstrap.cache");
Ok(name)
}
pub fn read_file(&mut self) -> Vec<SocketAddr> {
self.file_handler.read_file().ok().unwrap_or_else(|| vec![])
}
pub fn remove_peer_acceptor(&mut self, _peer: SocketAddr) {}
}