pub struct RuntimeConfig {Show 22 fields
pub worker_threads: usize,
pub thread_stack_size: usize,
pub thread_name_prefix: String,
pub global_queue_limit: usize,
pub steal_batch_size: usize,
pub blocking: BlockingPoolConfig,
pub enable_parking: bool,
pub poll_budget: u32,
pub cancel_lane_max_streak: usize,
pub logical_clock_mode: Option<LogicalClockMode>,
pub root_region_limits: Option<RegionLimits>,
pub on_thread_start: Option<Arc<dyn Fn() + Send + Sync>>,
pub on_thread_stop: Option<Arc<dyn Fn() + Send + Sync>>,
pub deadline_monitor: Option<MonitorConfig>,
pub deadline_warning_handler: Option<Arc<dyn Fn(DeadlineWarning) + Send + Sync>>,
pub metrics_provider: Arc<dyn MetricsProvider>,
pub observability: Option<ObservabilityConfig>,
pub cancel_attribution: CancelAttributionConfig,
pub obligation_leak_response: ObligationLeakResponse,
pub leak_escalation: Option<LeakEscalation>,
pub enable_governor: bool,
pub governor_interval: u32,
}Expand description
Runtime configuration.
Fields§
§worker_threads: usizeNumber of worker threads (default: available parallelism).
thread_stack_size: usizeStack size per worker thread (default: 2MB).
thread_name_prefix: StringName prefix for worker threads.
global_queue_limit: usizeGlobal queue size limit (0 = unbounded).
steal_batch_size: usizeWork stealing batch size.
blocking: BlockingPoolConfigBlocking pool configuration.
enable_parking: boolEnable parking for idle workers.
poll_budget: u32Time slice for cooperative yielding (polls).
cancel_lane_max_streak: usizeMaximum consecutive cancel-lane dispatches before yielding to other lanes.
logical_clock_mode: Option<LogicalClockMode>Logical clock mode used for trace causal ordering.
When None, the runtime chooses a default:
- No reactor: Lamport (deterministic lab-friendly)
- With reactor: Hybrid (wall-clock + logical)
root_region_limits: Option<RegionLimits>Admission limits applied to the root region (if set).
on_thread_start: Option<Arc<dyn Fn() + Send + Sync>>Callback executed when a worker thread starts.
on_thread_stop: Option<Arc<dyn Fn() + Send + Sync>>Callback executed when a worker thread stops.
deadline_monitor: Option<MonitorConfig>Deadline monitoring configuration (when enabled).
deadline_warning_handler: Option<Arc<dyn Fn(DeadlineWarning) + Send + Sync>>Warning callback for deadline monitoring.
metrics_provider: Arc<dyn MetricsProvider>Metrics provider for runtime instrumentation.
observability: Option<ObservabilityConfig>Optional runtime observability configuration.
cancel_attribution: CancelAttributionConfigLimits for cancellation attribution cause chains.
Used to bound memory growth when cancellation cascades across deep region trees or large cancellation graphs.
obligation_leak_response: ObligationLeakResponseResponse policy for obligation leaks detected at runtime.
leak_escalation: Option<LeakEscalation>Optional escalation policy for obligation leaks.
When set, the runtime escalates from obligation_leak_response to
escalation.escalate_to after escalation.threshold leaks.
enable_governor: boolEnable the Lyapunov governor for scheduling suggestions.
When enabled, the scheduler periodically snapshots runtime state and consults the governor for lane-ordering hints. When disabled (default), scheduling behavior is identical to the ungoverned baseline.
governor_interval: u32Number of scheduling steps between governor snapshots (default: 32).
Lower values increase responsiveness but add snapshot overhead.
Only relevant when enable_governor is true.
Implementations§
Source§impl RuntimeConfig
impl RuntimeConfig
Trait Implementations§
Source§impl Clone for RuntimeConfig
impl Clone for RuntimeConfig
Source§fn clone(&self) -> RuntimeConfig
fn clone(&self) -> RuntimeConfig
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more