mod cfg;
mod api;
mod core;
mod dkg;
mod error;
mod logging;
mod messages;
use sn_interface::types::Peer;
pub use self::{
api::{
event::{Elders, Event, MessageReceived, NodeElderChange},
event_stream::EventStream,
NodeApi,
},
cfg::config_handler::{add_connection_info, set_connection_info, Config},
error::{Error, Result},
};
pub use qp2p::{Config as NetworkConfig, SendStream};
pub use sn_interface::network_knowledge::{
FIRST_SECTION_MAX_AGE, FIRST_SECTION_MIN_AGE, MIN_ADULT_AGE,
};
pub use xor_name::{Prefix, XorName, XOR_NAME_LEN};
#[cfg(feature = "test-utils")]
pub use test_utils::*;
pub(crate) use self::core::MIN_LEVEL_WHEN_FULL;
#[cfg(any(test, feature = "test-utils"))]
mod test_utils {
use rand::{distributions::Alphanumeric, thread_rng, Rng};
use std::path::{Path, PathBuf};
use tempfile::tempdir;
const TEST_MAX_CAPACITY: usize = 1024 * 1024;
pub fn create_test_max_capacity_and_root_storage() -> eyre::Result<(usize, PathBuf)> {
let random_filename: String = thread_rng().sample_iter(&Alphanumeric).take(15).collect();
let root_dir = tempdir().map_err(|e| eyre::eyre!(e.to_string()))?;
let storage_dir = Path::new(root_dir.path()).join(random_filename);
Ok((TEST_MAX_CAPACITY, storage_dir))
}
}