extern crate alloc;
use alloc::borrow::Cow;
use typed_builder::TypedBuilder;
const DEFAULT_INPUT_BUFFER_SIZE: usize = 1024 * 1024;
const DEFAULT_AUX_BUFFER_SIZE: usize = 4096;
const DEFAULT_TIMEOUT_SECS: u8 = 2;
const DEFAULT_TIMEOUT_MICRO_SECS: u32 = 0;
const DEFAULT_SNAP_MODE: bool = true;
#[derive(Debug, Clone, TypedBuilder)]
pub struct NyxSettings {
pub cpu_id: usize,
pub parent_cpu_id: Option<usize>,
#[builder(default = DEFAULT_SNAP_MODE)]
pub snap_mode: bool,
#[builder(default = DEFAULT_INPUT_BUFFER_SIZE)]
pub input_buffer_size: usize,
#[builder(default = DEFAULT_TIMEOUT_SECS)]
pub timeout_secs: u8,
#[builder(default = DEFAULT_AUX_BUFFER_SIZE)]
pub aux_buffer_size: usize,
#[builder(default = DEFAULT_TIMEOUT_MICRO_SECS)]
pub timeout_micro_secs: u32,
#[builder(default = None, setter(strip_option))]
pub workdir_path: Option<Cow<'static, str>>,
}