pub use mixnet::core::Config as CoreConfig;
use std::time::Duration;
#[derive(Clone, Debug)]
pub struct SubstrateConfig {
pub register: bool,
pub num_gateway_slots: u32,
pub request_buffer: usize,
pub surb_factor: usize,
pub extrinsic_queue_capacity: usize,
pub mean_extrinsic_delay: Duration,
pub max_pending_extrinsics: usize,
}
impl Default for SubstrateConfig {
fn default() -> Self {
Self {
register: true,
num_gateway_slots: 150,
request_buffer: 4,
surb_factor: 2,
extrinsic_queue_capacity: 50,
mean_extrinsic_delay: Duration::from_secs(1),
max_pending_extrinsics: 20,
}
}
}
#[derive(Clone, Debug)]
pub struct Config {
pub core: CoreConfig,
pub request_manager: mixnet::request_manager::Config,
pub reply_manager: mixnet::reply_manager::Config,
pub substrate: SubstrateConfig,
}
impl Default for Config {
fn default() -> Self {
Self {
core: Default::default(),
request_manager: Default::default(),
reply_manager: Default::default(),
substrate: Default::default(),
}
}
}