Constructor.
Alias for a delegate which is called when a scheduled event fires.
Alias for a delegate which is called when a scheduled event is registered, allowing the user to setup the required data for the event.
Unregisters all registered events (thus calls stopTimeout()).
Registers a new event with the scheduler.
Disables the timer event and unregisters it from epoll.
Interface to a scheduled event.
Re-usable pool of scheduled events.
Enables or changes the timer event time.
Disables the timer event.
type of data to be stored along with each event
TODO: could probably be adapted to a version which allows simple events without attached data, if we need that.
Timer set class template.
Each event is added to the timer set along with a data item (see template parameters). The data item is stored internally to the timer set, along with the event delegate, as a convenience to the end-user, who thus does not need to maintain an external pool of the data items associated with each event.
Internally, the timer set works using a single timer event, which is registered to epoll with the time until the soonest scheduled event. When the last scheduled event fires, the timer event is unregistered from epoll.