![]() |
EM-ODP 4.4.0
Event Machine on ODP
|
#include <em_event_types.h>

Public Member Functions | |
| void *end[0] | ODP_ALIGNED (8) |
Data Fields | ||
| evstate_cnt_t | state_cnt | |
| ev_hdr_state_t | state | |
| union { | ||
| uint8_t all | ||
| struct { | ||
| uint8_t refs_used: 1 | ||
| uint8_t tmo_type: 2 | ||
| uint8_t vectype_set: 1 | ||
| uint8_t aggr_sent: 1 | ||
| uint8_t unused: 3 | ||
| } | ||
| } | flags | |
| uint8_t | align_offset | |
| em_event_type_t | event_type | |
| em_event_t | event | |
| uint32_t | event_size | |
| uint32_t | egrp_gen | |
| em_event_group_t | egrp | |
| em_tmo_t | tmo | |
| ev_hdr_user_area_t | user_area | |
| em_event_type_t | vector_type | |
| uint8_t | end_hdr_data [0] | |
| uint8_t event_hdr::aggr_sent |
Indicate that the event is enqueued by the user to an EM_QUEUE_TYPE_AGGR queue. Allows dispatch to apply the missing em2usr ESV transition for inner events of aggregation-produced vectors when received as vector. Cleared after the transition.
Definition at line 248 of file em_event_types.h.
| uint8_t event_hdr::align_offset |
Payload alloc alignment offset. Value is copied from pool_elem->align_offset for easy access.
Definition at line 258 of file em_event_types.h.
| uint8_t event_hdr::all |
Definition at line 223 of file em_event_types.h.
| em_event_group_t event_hdr::egrp |
Event Group handle (cannot be used by event references)
Definition at line 287 of file em_event_types.h.
| uint32_t event_hdr::egrp_gen |
Event group generation
Definition at line 282 of file em_event_types.h.
| uint8_t event_hdr::end_hdr_data[0] |
End of event header data, for offsetof(event_hdr_t, end_hdr_data)
Definition at line 315 of file em_event_types.h.
| em_event_t event_hdr::event |
Event handle (this event)
Definition at line 268 of file em_event_types.h.
| uint32_t event_hdr::event_size |
Event size
buf: current size pkt & vec: original alloc size (otherwise not used, odp size used) periodic ring timer tmo (EM_EVENT_TYPE_TIMER_IND): 0
Definition at line 277 of file em_event_types.h.
| em_event_type_t event_hdr::event_type |
Event type, contains major and minor parts
Definition at line 263 of file em_event_types.h.
| union { ... } event_hdr::flags |
Event flags
| uint8_t event_hdr::refs_used |
Indicate that this event has (or had) references and some of the ESV checks must be omitted (evgen). Will be set for the whole lifetime of the event.
Definition at line 230 of file em_event_types.h.
| ev_hdr_state_t event_hdr::state |
Event State Verification (ESV) state.
Event state, updated on valid state transitions. "Best effort" update, i.e. atomic update not guaranteed in invalid simultaneous state-updates.
Contains the previously known good state and will be printed when detecting an invalid state transition.
Definition at line 217 of file em_event_types.h.
| evstate_cnt_t event_hdr::state_cnt |
Event State Verification (ESV) counters.
Together the evstate_cnt_t counters (evgen, ref_cnt and send_cnt) can be used to detect invalid states and operations on the event, e.g.: double-free, double-send, send-after-free, free-after-send, usage-after-output, usage-after-timer-tmo-set/ack/cancel/delete etc.
Definition at line 205 of file em_event_types.h.
| em_tmo_t event_hdr::tmo |
Holds the tmo handle in case event is used as timeout indication. Only valid if flags.tmo_type is not EM_TMO_TYPE_NONE (0). Initialized only when used as timeout indication by timer code.
Definition at line 294 of file em_event_types.h.
| uint8_t event_hdr::tmo_type |
Indicate that this event is used as tmo indication. See em_tmo_type_t. Initially 0 = EM_TMO_TYPE_NONE
Definition at line 235 of file em_event_types.h.
| uint8_t event_hdr::unused |
currently unused bits
Definition at line 250 of file em_event_types.h.
| ev_hdr_user_area_t event_hdr::user_area |
Event User Area metadata
Definition at line 299 of file em_event_types.h.
| em_event_type_t event_hdr::vector_type |
Event type of the events in the vector. Used by events of (major) type EM_EVENT_TYPE_VECTOR and specifies the type of all events in the vector's event table (em_event_t ev_tbl[]). Only valid if flags.vectype_set = 1, otherwise the vector type is considered not set by EM yet. Can also be EM_EVENT_TYPE_ANY, see em_event_type_t.
Definition at line 309 of file em_event_types.h.
| uint8_t event_hdr::vectype_set |
Indicate that the .vector_type field is set by EM and contains a valid value.
Definition at line 240 of file em_event_types.h.