pub trait SchedulerControl {
// Required methods
fn register_process(
&mut self,
proc: Box<dyn CompiledProcess>,
kind: ProcessKind,
sensitivity: Option<StaticSensitivity>,
region_id: u32,
) -> ProcessId;
fn run_until(&mut self, deadline: Option<SchedTime>) -> RunResult;
fn step_region(&mut self) -> StepResult;
fn run_finals(&mut self);
fn now(&self) -> SchedTime;
fn set_determinism_controller(
&mut self,
ctrl: Box<dyn DeterminismController>,
);
}Expand description
The debugger/VPI-facing control surface (SC-083): run-to-completion, run-until(time), single-region-step, and process registration.
Required Methods§
Sourcefn register_process(
&mut self,
proc: Box<dyn CompiledProcess>,
kind: ProcessKind,
sensitivity: Option<StaticSensitivity>,
region_id: u32,
) -> ProcessId
fn register_process( &mut self, proc: Box<dyn CompiledProcess>, kind: ProcessKind, sensitivity: Option<StaticSensitivity>, region_id: u32, ) -> ProcessId
Task 9 (A2-part2, CG-102) added region_id: the process’s own
ProcessSideTable::region_id (vj-codegen::process_lower’s own
field), threaded through to ProcessTable::set_region_id so
dispatch_ready_set can later look it up per-activation via
ProcessTable::region_id. v1’s one real production call site
(vj::run::run_design) always passes 0 (ARCHITECTURE §4
item 1’s single-conservative-partition value – the same “correct
degenerate v1 value, not a stub” posture region_id’s own producing-
side doc comment already documents).
fn run_until(&mut self, deadline: Option<SchedTime>) -> RunResult
fn step_region(&mut self) -> StepResult
fn run_finals(&mut self)
fn now(&self) -> SchedTime
fn set_determinism_controller(&mut self, ctrl: Box<dyn DeterminismController>)
Dyn Compatibility§
This trait is dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety".