EM-ODP
3.7.0
Event Machine on ODP
|
Go to the source code of this file.
Data Structures | |
struct | queue_setup_t |
union | internal_queue_t |
struct | q_elem_atomic_group_ |
struct | q_elem_output_ |
struct | queue_elem_t |
struct | queue_tbl_t |
struct | queue_pool_t |
struct | local_queues_t |
struct | output_queue_track_t |
Macros | |
#define | MAX_INTERNAL_QUEUES ROUND_UP(EM_MAX_CORES + 1, 32) |
#define | _FIRST_INTERNAL_QUEUE (_EM_QUEUE_STATIC_MAX + 1) |
#define | FIRST_INTERNAL_QUEUE ((uint16_t)_FIRST_INTERNAL_QUEUE) |
#define | _LAST_INTERNAL_QUEUE (_FIRST_INTERNAL_QUEUE + MAX_INTERNAL_QUEUES - 1) |
#define | LAST_INTERNAL_QUEUE ((uint16_t)_LAST_INTERNAL_QUEUE) |
#define | FIRST_INTERNAL_UNSCHED_QUEUE (FIRST_INTERNAL_QUEUE) |
#define | SHARED_INTERNAL_UNSCHED_QUEUE (LAST_INTERNAL_QUEUE) |
#define | INTERNAL_QUEUE_PRIORITY (EM_QUEUE_PRIO_HIGHEST) |
#define | _FIRST_DYN_QUEUE (_LAST_INTERNAL_QUEUE + 1) |
#define | FIRST_DYN_QUEUE ((uint16_t)_FIRST_DYN_QUEUE) |
#define | QUEUE_ELEM_VALID ((uint16_t)0xCAFE) |
Typedefs | |
typedef enum queue_state | queue_state_e |
typedef uint8_t | queue_state_t |
typedef struct q_elem_atomic_group_ | q_elem_atomic_group_t |
typedef struct q_elem_output_ | q_elem_output_t |
typedef struct queue_elem_t | ENV_CACHE_LINE_ALIGNED |
typedef struct queue_tbl_t | queue_tbl_t |
typedef struct queue_pool_t | queue_pool_t |
typedef struct local_queues_t | local_queues_t |
typedef struct output_queue_track_t | output_queue_track_t |
Enumerations | |
enum | queue_state { EM_QUEUE_STATE_INVALID = 0, EM_QUEUE_STATE_INIT = 1, EM_QUEUE_STATE_BIND = 2, EM_QUEUE_STATE_READY = 3, EM_QUEUE_STATE_UNSCHEDULED = 255 } |
Functions | |
COMPILE_TIME_ASSERT (MAX_INTERNAL_QUEUES - 1 >=EM_MAX_CORES, TOO_FEW_INTERNAL_QUEUES_ERROR) | |
COMPILE_TIME_ASSERT (_FIRST_DYN_QUEUE > _LAST_INTERNAL_QUEUE, FIRST_DYN_QUEUE_ERROR) | |
COMPILE_TIME_ASSERT (sizeof(internal_queue_t)==sizeof(em_queue_t), INTERNAL_QUEUE_T_SIZE_ERROR) | |
COMPILE_TIME_ASSERT (sizeof(queue_elem_t) % ENV_CACHE_LINE_SIZE==0, QUEUE_ELEM_T__SIZE_ERROR) | |
EM internal queue types & definitions
Definition in file em_queue_types.h.
typedef struct queue_elem_t ENV_CACHE_LINE_ALIGNED |
EM queue element
typedef struct local_queues_t local_queues_t |
Local queues, i.e. core-local storage for events to local queues
typedef struct output_queue_track_t output_queue_track_t |
Track output-queues used during a dispatch round (burst)
typedef struct q_elem_atomic_group_ q_elem_atomic_group_t |
Atomic-group queue specific part of the queue element
typedef struct q_elem_output_ q_elem_output_t |
Output queue specific part of the queue element
typedef struct queue_pool_t queue_pool_t |
Pool of free queues
typedef enum queue_state queue_state_e |
Queue state
typedef uint8_t queue_state_t |
Queue state, packed into uint8_t.
The 'enum queue_state' or queue_state_e will always fit into an uint8_t. Save space in the queue_elem_t by using this instead.
Definition at line 151 of file em_queue_types.h.
typedef struct queue_tbl_t queue_tbl_t |
EM queue element table
enum queue_state |
Queue state
Definition at line 124 of file em_queue_types.h.