#include <event_impl.h>
|
| | GenEventImpl (void) |
| |
| | GenEventImpl (EventTriggerNotifier *_event_triggerer, EventCommunicator *_event_comm) |
| |
| | ~GenEventImpl (void) |
| |
| void | init (ID _me, unsigned _init_owner) |
| |
| Event | current_event (void) const |
| |
| virtual bool | has_triggered (gen_t needed_gen, bool &poisoned) |
| |
| virtual void | subscribe (gen_t subscribe_gen) |
| |
| void | handle_remote_subscription (NodeID sender, gen_t subscribe_gen, gen_t previous_subscribe_gen) |
| |
| virtual void | external_wait (gen_t needed_gen, bool &poisoned) |
| |
| virtual bool | external_timedwait (gen_t needed_gen, bool &poisoned, long long max_ns) |
| |
| virtual bool | add_waiter (gen_t needed_gen, EventWaiter *waiter) |
| |
| virtual bool | remove_waiter (gen_t needed_gen, EventWaiter *waiter) |
| |
| bool | trigger (gen_t gen_triggered, int trigger_node, bool poisoned, TimeLimit work_until) |
| |
| void | process_update (gen_t current_gen, const gen_t *new_poisoned_generations, int new_poisoned_count, TimeLimit work_until) |
| |
| void | set_trigger_op (gen_t gen, Operation *op) |
| |
| Operation * | get_trigger_op (gen_t gen) |
| |
| bool | is_generation_poisoned (gen_t gen) const |
| |
| | EventImpl (void) |
| |
| virtual | ~EventImpl (void) |
| |
| Event | make_event (gen_t gen) const |
| |
|
| static GenEventImpl * | create_genevent (void) |
| |
| static GenEventImpl * | create_genevent (RuntimeImpl *runtime_impl) |
| |
| static ID | make_id (const GenEventImpl &dummy, int owner, ID::IDType index) |
| |
| static Event | merge_events (span< const Event > wait_for, bool ignore_faults) |
| |
| static Event | merge_events (Event ev1, Event ev2, Event ev3=Event::NO_EVENT, Event ev4=Event::NO_EVENT, Event ev5=Event::NO_EVENT, Event ev6=Event::NO_EVENT) |
| |
| static Event | ignorefaults (Event wait_for) |
| |
| static void | trigger (Event e, bool poisoned) |
| |
| static void | trigger (Event e, bool poisoned, TimeLimit work_until) |
| |
| static bool | add_waiter (Event needed, EventWaiter *waiter) |
| |
| static bool | detect_event_chain (Event search_from, Event target, int max_depth, bool print_chain) |
| |
◆ GenEventImpl() [1/2]
| Realm::GenEventImpl::GenEventImpl |
( |
void |
| ) |
|
◆ GenEventImpl() [2/2]
◆ ~GenEventImpl()
| Realm::GenEventImpl::~GenEventImpl |
( |
void |
| ) |
|
◆ add_waiter()
| virtual bool Realm::GenEventImpl::add_waiter |
( |
gen_t |
needed_gen, |
|
|
EventWaiter * |
waiter |
|
) |
| |
|
virtual |
◆ create_genevent() [1/2]
◆ create_genevent() [2/2]
| static GenEventImpl * Realm::GenEventImpl::create_genevent |
( |
void |
| ) |
|
|
static |
◆ current_event()
| Event Realm::GenEventImpl::current_event |
( |
void |
| ) |
const |
◆ external_timedwait()
| virtual bool Realm::GenEventImpl::external_timedwait |
( |
gen_t |
needed_gen, |
|
|
bool & |
poisoned, |
|
|
long long |
max_ns |
|
) |
| |
|
virtual |
◆ external_wait()
| virtual void Realm::GenEventImpl::external_wait |
( |
gen_t |
needed_gen, |
|
|
bool & |
poisoned |
|
) |
| |
|
virtual |
◆ get_trigger_op()
◆ handle_remote_subscription()
| void Realm::GenEventImpl::handle_remote_subscription |
( |
NodeID |
sender, |
|
|
gen_t |
subscribe_gen, |
|
|
gen_t |
previous_subscribe_gen |
|
) |
| |
◆ has_triggered()
| virtual bool Realm::GenEventImpl::has_triggered |
( |
gen_t |
needed_gen, |
|
|
bool & |
poisoned |
|
) |
| |
|
virtual |
◆ ignorefaults()
| static Event Realm::GenEventImpl::ignorefaults |
( |
Event |
wait_for | ) |
|
|
static |
◆ init()
| void Realm::GenEventImpl::init |
( |
ID |
_me, |
|
|
unsigned |
_init_owner |
|
) |
| |
◆ is_generation_poisoned()
| bool Realm::GenEventImpl::is_generation_poisoned |
( |
gen_t |
gen | ) |
const |
◆ make_id()
◆ merge_events() [1/2]
◆ merge_events() [2/2]
| static Event Realm::GenEventImpl::merge_events |
( |
span< const Event > |
wait_for, |
|
|
bool |
ignore_faults |
|
) |
| |
|
static |
◆ process_update()
| void Realm::GenEventImpl::process_update |
( |
gen_t |
current_gen, |
|
|
const gen_t * |
new_poisoned_generations, |
|
|
int |
new_poisoned_count, |
|
|
TimeLimit |
work_until |
|
) |
| |
◆ remove_waiter()
| virtual bool Realm::GenEventImpl::remove_waiter |
( |
gen_t |
needed_gen, |
|
|
EventWaiter * |
waiter |
|
) |
| |
|
virtual |
◆ set_trigger_op()
| void Realm::GenEventImpl::set_trigger_op |
( |
gen_t |
gen, |
|
|
Operation * |
op |
|
) |
| |
◆ subscribe()
| virtual void Realm::GenEventImpl::subscribe |
( |
gen_t |
subscribe_gen | ) |
|
|
virtual |
◆ trigger() [1/3]
| static void Realm::GenEventImpl::trigger |
( |
Event |
e, |
|
|
bool |
poisoned |
|
) |
| |
|
static |
◆ trigger() [2/3]
| static void Realm::GenEventImpl::trigger |
( |
Event |
e, |
|
|
bool |
poisoned, |
|
|
TimeLimit |
work_until |
|
) |
| |
|
static |
◆ trigger() [3/3]
| bool Realm::GenEventImpl::trigger |
( |
gen_t |
gen_triggered, |
|
|
int |
trigger_node, |
|
|
bool |
poisoned, |
|
|
TimeLimit |
work_until |
|
) |
| |
◆ EventMerger
◆ current_local_waiters
◆ current_trigger_op
| Operation* Realm::GenEventImpl::current_trigger_op = nullptr |
◆ event_comm
◆ event_triggerer
◆ external_waiter_condvar
◆ external_waiter_mutex
◆ free_list_insertion_delayed
| bool Realm::GenEventImpl::free_list_insertion_delayed = false |
◆ future_local_waiters
◆ gen_subscribed
◆ generation
◆ has_external_waiters
| bool Realm::GenEventImpl::has_external_waiters = false |
◆ has_local_triggers
| bool Realm::GenEventImpl::has_local_triggers = false |
◆ ID_TYPE
◆ local_triggers
| std::map<gen_t, bool> Realm::GenEventImpl::local_triggers |
◆ merger
◆ mutex
| Mutex Realm::GenEventImpl::mutex |
◆ next_free
◆ num_poisoned_generations
| atomic<int> Realm::GenEventImpl::num_poisoned_generations = atomic<int>(0) |
◆ POISONED_GENERATION_LIMIT
| const int Realm::GenEventImpl::POISONED_GENERATION_LIMIT = 16 |
|
static |
◆ poisoned_generations
| gen_t* Realm::GenEventImpl::poisoned_generations = 0 |
◆ remote_waiters
| NodeSet Realm::GenEventImpl::remote_waiters |
The documentation for this class was generated from the following file:
- /home/runner/work/realm/realm/realm-src/src/realm/event_impl.h