Coordinates any number of co-located observables and observers.
More...
#include <coordinator.hpp>
|
|
using | steady_time_point = std::chrono::steady_clock::time_point |
| | A time point of the monotonic clock.
|
| |
|
|
observable_builder | make_observable () |
| | Returns a factory object for new observable objects on this coordinator.
|
| |
|
virtual steady_time_point | steady_time ()=0 |
| | Returns the current time on the monotonic clock of this coordinator.
|
| |
| virtual void | delay (action what)=0 |
| | Delays execution of an action until all pending actions were executed.
|
| |
| template<class F > |
| void | delay_fn (F &&what) |
| | Delays execution of an action until all pending actions were executed.
|
| |
| virtual disposable | delay_until (steady_time_point abs_time, action what)=0 |
| | Delays execution of an action with an absolute timeout.
|
| |
| template<class F > |
| disposable | delay_until_fn (steady_time_point abs_time, F &&what) |
| | Delays execution of an action until all pending actions were executed.
|
| |
| disposable | delay_for (timespan rel_time, action what) |
| | Delays execution of an action with a relative timeout.
|
| |
| template<class F > |
| void | delay_for_fn (timespan rel_time, F &&what) |
| | Delays execution of an action with a relative timeout.
|
| |
|
virtual void | ref_execution_context () const noexcept=0 |
| | Increases the reference count of the execution_context.
|
| |
|
virtual void | deref_execution_context () const noexcept=0 |
| | Decreases the reference count of the execution context and destroys the object if necessary.
|
| |
| virtual void | schedule (action what)=0 |
| | Schedules what to run on the event loop of the execution context.
|
| |
| template<class F > |
| void | schedule_fn (F &&what) |
| | Schedules what to run on the event loop of the execution context.
|
| |
| virtual void | watch (disposable what)=0 |
| | Asks the coordinator to keep its event loop running until what becomes disposed since it depends on external events or produces events that are visible to outside observers.
|
| |
Coordinates any number of co-located observables and observers.
The co-located objects never need to synchronize calls to other co-located objects since the coordinator guarantees synchronous execution.
◆ delay()
| virtual void caf::flow::coordinator::delay |
( |
action |
what | ) |
|
|
pure virtual |
Delays execution of an action until all pending actions were executed.
May call schedule.
- Parameters
-
| what | The action for delayed execution. |
◆ delay_fn()
template<class F >
| void caf::flow::coordinator::delay_fn |
( |
F && |
what | ) |
|
Delays execution of an action until all pending actions were executed.
May call schedule.
- Parameters
-
| what | The action for delayed execution. |
◆ delay_for()
Delays execution of an action with a relative timeout.
- Parameters
-
| rel_time | The relative time when this action should take place. |
| what | The action for delayed execution. |
- Returns
- a disposable to cancel the pending timeout.
◆ delay_for_fn()
template<class F >
| void caf::flow::coordinator::delay_for_fn |
( |
timespan |
rel_time, |
|
|
F && |
what |
|
) |
| |
Delays execution of an action with a relative timeout.
- Parameters
-
| rel_time | The relative time when this action should take place. |
| what | The action for delayed execution. |
- Returns
- a disposable to cancel the pending timeout.
◆ delay_until()
Delays execution of an action with an absolute timeout.
- Parameters
-
| abs_time | The absolute time when this action should take place. |
| what | The action for delayed execution. |
- Returns
- a disposable to cancel the pending timeout.
◆ delay_until_fn()
Delays execution of an action until all pending actions were executed.
May call schedule.
- Parameters
-
| what | The action for delayed execution. |
The documentation for this class was generated from the following files:
- libcaf_core/caf/flow/coordinator.hpp
- libcaf_core/caf/flow/coordinator.cpp