titanrt 0.7.0

Typed reactive runtime for real-time systems
Documentation
use serde::{Deserialize, Serialize};

/// Runtime configuration for the model control thread.
/// Keeps lifecycle and back-pressure knobs small and explicit.
#[derive(Debug, Clone, Deserialize, Serialize)]
pub struct RuntimeConfig {
    /// Initialize the model immediately on runtime start.
    /// If `false`, you must send a `Start` command later.
    pub init_model_on_start: bool,

    /// Logical CPU core to pin the runtime thread to (`None` = no pinning).
    pub core_id: Option<usize>,

    /// Max number of pending control-plane inputs (`None` = 1024).
    pub max_inputs_pending: Option<usize>,

    /// Max inputs drained per iteration (`None` = max_inputs_pending).
    pub max_inputs_drain: Option<usize>,

    /// Cooperative stop timeout **in seconds** (`None` = 300 seconds).
    pub stop_model_timeout: Option<u64>,
}