pub const DEFAULT_ENGINE_CHANNEL_CAPACITY: usize = 8192;
pub const DEFAULT_SET_MARKET_STATE_BATCH: u16 = 4096;
pub const DEFAULT_ENGINE_POLL_TIMEOUT_MS: u64 = 100;
#[derive(Clone, Debug, Default, serde::Serialize, serde::Deserialize)]
pub struct ThreadPinning {
#[serde(default)]
pub engine_core: Option<usize>,
#[serde(default)]
pub wal_poller_core: Option<usize>,
#[serde(default)]
pub handler_cores: Vec<usize>,
}
#[derive(Clone, Debug, serde::Serialize, serde::Deserialize)]
pub struct Config {
pub ring_size_pow2: usize,
pub response_timeout_ms: u64,
pub order_store_capacity: usize,
#[serde(default)]
pub enforce_binary_yes_max_price_ticks: Option<u16>,
#[serde(default)]
pub pinning: Option<ThreadPinning>,
}
impl Default for Config {
fn default() -> Self {
Self {
ring_size_pow2: 1024,
response_timeout_ms: 1000,
order_store_capacity: 20_000,
enforce_binary_yes_max_price_ticks: None,
pinning: None,
}
}
}