Loading...
Searching...
No Matches
caf::detail::tick_emitter Class Reference

Converts realtime into a series of ticks, whereas each tick represents a preconfigured timespan. More...

`#include <tick_emitter.hpp>`

## Public Types

using | clock_type = std::chrono::steady_clock
| Discrete point in time.
using | time_point = typename clock_type::time_point
| Discrete point in time.
using | duration_type = typename time_point::duration
| Difference between two points in time.

## Public Member Functions

| tick_emitter (time_point now)
bool | started () const
| Queries whether the start time is non-default constructed.
void | start (time_point now)
| Configures the start time.
void | stop ()
| Resets the start time to 0.
void | interval (duration_type x)
| Configures the time interval per tick.
duration_type | interval () const
| Returns the time interval per tick.
template<class F>
void | update (time_point now, F &consumer)
| Advances time and calls consumer for each emitted tick.
size_t | timeouts (time_point t, std::initializer_list< size_t > periods)
| Advances time by t and returns all triggered periods as bitmask.
time_point | next_timeout (time_point t, std::initializer_list< size_t > periods)
| Returns the next time point after t that would trigger any of the tick periods, i.e., returns the next time where any of the tick periods triggers tick id % period == 0.

## Detailed Description

Converts realtime into a series of ticks, whereas each tick represents a preconfigured timespan.

For example, a tick emitter configured with a timespan of 25ms generates a tick every 25ms after starting it.

The documentation for this class was generated from the following file:

- /build/actor-framework-Z9pIPl/actor-framework-0.17.6/libcaf_core/caf/detail/tick_emitter.hpp