pub trait DeterministicControl {
// Required methods
fn spawn_local_task(&self, fut: TaskFuture) -> TaskHandle;
fn run_until_idle(&self);
fn advance_time(&self, duration: Duration);
fn run_to_completion(&self);
fn step_count(&self) -> u64;
fn seed(&self) -> u64;
fn virtual_elapsed(&self) -> Duration;
fn decision_log(&self) -> Vec<usize>;
fn set_replay_decisions(&self, decisions: Vec<usize>);
fn clear_decision_log(&self);
fn trace_snapshot(&self) -> TraceBuffer;
}