Engine²
Open-source game engine written in C++.
Loading...
Searching...
No Matches
Engine::Scheduler Namespace Reference

Classes

class  AScheduler
 AScheduler is an abstract class that implements the IScheduler interface. It provides common functionalities for schedulers, such as enabling/disabling systems and error handling. It also provides a default implementation for the RunSystem function, which executes a system according to the scheduler policy. More...
class  FixedTimeUpdate
 FixedTimeUpdate is a scheduler that runs systems at a fixed rate It is made to only be run a certain amount of times per second, skipping updates when the framerate is high and running multiple updates when the framerate is low. The time that passes is accumulated if the time between updates is greater than the tick rate or if there is a remainder from the last update(s). More...
class  IScheduler
 Interface for the schedulers. A scheduler is responsible for running systems according to a specific policy. Schedulers also manage how logic (system) should be handled. More...
class  RelativeTimeUpdate
 RelativeTimeUpdate is a scheduler that runs systems at a defined rate. The tick rate is the maximum time we want between each system run. If the time between each system run is more than the target tick rate, we will run the systems multiple times with a delta time equal to the tick rate. Else, we will just run the systems once with the delta time we have (remaining). More...
class  Shutdown
 Shutdown scheduler that runs systems only once when engine shuts down. More...
class  Startup
 Startup scheduler that runs systems only once. More...
class  Update
 Update scheduler that runs systems every time it is called. More...

Enumerations

enum class  SchedulerErrorPolicy {
  Silent , Nothing , LogAndContinue , LogAndFinishScheduler ,
  LogAndStop
}
 Enum that defines how the scheduler will handle errors. More...

Enumeration Type Documentation

◆ SchedulerErrorPolicy

Enum that defines how the scheduler will handle errors.

See also
Engine::Scheduler::IScheduler
Engine::Scheduler::AScheduler
Enumerator
Silent 

Fail silently.

Nothing 

Let the exception propagate.

LogAndContinue 

Just log the error and resume execution.

LogAndFinishScheduler 

Log the error, run the next systems and stop execution of other schedulers.

LogAndStop 

Log the error and stop execution.