EM-ODP
3.7.0
Event Machine on ODP
|
#include <event_machine_dispatcher.h>
Data Fields | |
em_dispatch_duration_select_t | select |
uint64_t | rounds |
uint64_t | ns |
uint64_t | events |
struct { | |
uint64_t rounds | |
uint64_t ns | |
} | no_events |
Dispatch duration.
Select which dispatch duration, or combination, is to be used with the em_dispatch_duration() function. Bitwise OR .select-flags for a combination. Dispatch will end when one of the selected 'duration' options is reached, whichever is hit first.
Definition at line 110 of file event_machine_dispatcher.h.
uint64_t em_dispatch_duration_t::events |
Dispatch until (at least) the given number of events have been handled, if used must be > 0. Only considered if .select contains EM_DISPATCH_DURATION_EVENTS.
Note that the option 'burst_size' affects the number of events dispatched. EM will request new events to dispatch while the number of dispatched events is < .events and then handle the whole burst.
The option 'sched_pause=true' might also increase the number of events dispatched since the EM dispatcher needs to fetch and handle any leftover events held locally by the scheduler before returning.
Definition at line 158 of file event_machine_dispatcher.h.
uint64_t em_dispatch_duration_t::ns |
Dispatch (at least) for the given time in nanoseconds, if used must be > 0. Only considered if .select contains EM_DISPATCH_DURATION_NS.
Using a large value for the option 'wait_ns' relative to .ns might delay the return from dispatch.
The runtime of the EO-receive function for the last batch of events is not covered by .ns. EM will request new events to dispatch while the elapsed dispatch time is < .ns.
Dispatch until no events have been received for the given time in nanoseconds, if used must be > 0. Only considered if .select contains EM_DISPATCH_DURATION_NO_EVENTS_NS.
Definition at line 143 of file event_machine_dispatcher.h.
uint64_t em_dispatch_duration_t::rounds |
Dispatch for the given number of rounds, if used must be > 0. Only considered if .select contains EM_DISPATCH_DURATION_ROUNDS.
Dispatch until no events have been received for the given number of rounds, if used must be > 0. Only considered if .select contains EM_DISPATCH_DURATION_NO_EVENTS_ROUNDS.
Definition at line 128 of file event_machine_dispatcher.h.
em_dispatch_duration_select_t em_dispatch_duration_t::select |
Select which 'duration'-fields that should be taken into account when evaluating the em_dispatch_duration() run time.
Only the duration fields that correspond to set .select-flags will be used.
Definition at line 118 of file event_machine_dispatcher.h.