Class Scheduler

Class Documentation

class Scheduler

Declaration: final

Clock input is supplied by the owner; scheduling never sleeps or polls input.

advance() selects a bounded batch once. Time spent running that batch enters the next cycle, so expensive updates cannot extend the current batch forever.

Public Functions

explicit Scheduler(::CE::Runtime::Simulation::TimingOptions options = ::CE::Runtime::Simulation::TimingOptions{}, ::CE::Runtime::Simulation::Clock::time_point start = ::CE::Runtime::Simulation::Clock::now())
inline const ::CE::Runtime::Simulation::TimingOptions &options() const

Declaration: [[nodiscard]]

::CE::Runtime::Simulation::Batch advance(::CE::Runtime::Simulation::Clock::time_point now)

Declaration: [[nodiscard]]

::CE::Runtime::Simulation::Clock::time_point next_update_at() const

Declaration: [[nodiscard]]