![]() |
Realm
A distributed, event-based tasking library
|
#include <event.h>
Public Member Functions | |
| UserEvent ()=default | |
| constexpr | UserEvent (id_t id) |
| void | trigger (Event wait_on=Event::NO_EVENT, bool ignore_faults=false) const |
| void | cancel (void) const |
Public Member Functions inherited from Realm::Event | |
| Event ()=default | |
| constexpr | Event (id_t id) |
| constexpr | operator id_t () const |
| bool | operator< (const Event &rhs) const |
| bool | operator== (const Event &rhs) const |
| bool | operator!= (const Event &rhs) const |
| bool | exists (void) const |
| bool | has_triggered (void) const |
| void | wait (void) const |
| void | external_wait (void) const |
| bool | external_timedwait (long long max_ns) const |
| bool | has_triggered_faultaware (bool &poisoned) const |
| void | wait_faultaware (bool &poisoned) const |
| void | external_wait_faultaware (bool &poisoned) const |
| bool | external_timedwait_faultaware (bool &poisoned, long long max_ns) const |
| void | subscribe (void) const |
| void | cancel_operation (const void *reason_data, size_t reason_size) const |
| void | set_operation_priority (int new_priority) const |
Static Public Member Functions | |
| static UserEvent | create_user_event (void) |
Static Public Member Functions inherited from Realm::Event | |
| static Event | merge_events_ignorefaults (const Event *wait_for, size_t num_events) |
| static Event | merge_events_ignorefaults (const span< const Event > &wait_for) |
| static Event | merge_events_ignorefaults (const std::set< Event > &wait_for) |
| static Event | ignorefaults (Event wait_for) |
| static void | advise_event_ordering (Event happens_before, Event happens_after) |
| static void | advise_event_ordering (const Event *happens_before, size_t num_events, Event happens_after, bool all_must_trigger=true) |
| static void | advise_event_ordering (const span< Event > &happens_before, Event happens_after, bool all_must_trigger=true) |
| static Event | merge_events (const Event *wait_for, size_t num_events) |
| static Event | merge_events (Event ev1, Event ev2, Event ev3=NO_EVENT, Event ev4=NO_EVENT, Event ev5=NO_EVENT, Event ev6=NO_EVENT) |
| static Event | merge_events (const std::set< Event > &wait_for) |
| static Event | merge_events (const span< const Event > &wait_for) |
Static Public Attributes | |
| static const UserEvent | NO_USER_EVENT |
Static Public Attributes inherited from Realm::Event | |
| static const Event | NO_EVENT |
| The value should be usued to initialize an event handle. NO_EVENT is always in has triggered state . | |
Additional Inherited Members | |
Public Types inherited from Realm::Event | |
| typedef ::realm_id_t | id_t |
Public Attributes inherited from Realm::Event | |
| id_t | id {REALM_NO_EVENT} |
UserEvents are events that can be scheduled to trigger at a future point in an application and can be waited upon dynamically. This is in contrast to a Realm::Event, which must be a direct consequence of the completion of a specific operation.
|
default |
|
inlineconstexpr |
| void Realm::UserEvent::cancel | ( | void | ) | const |
|
static |
Create a new user event.
| void Realm::UserEvent::trigger | ( | Event | wait_on = Event::NO_EVENT, |
| bool | ignore_faults = false |
||
| ) | const |
Trigger the user event.
| wait_on | an event that must trigger before this user event can. |
| ignore_faults | if true, the user event will be triggered even if the event it is waiting on is poisoned. |
|
static |