EM-ODP  3.7.0
Event Machine on ODP
em_eo.h File Reference
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Macros

#define invalid_eo(eo)   ((unsigned int)eo_hdl2idx((eo)) >= EM_MAX_EOS)
 

Functions

em_status_t eo_init (eo_tbl_t eo_tbl[], eo_pool_t *eo_pool)
 
em_eo_t eo_alloc (void)
 
em_status_t eo_free (em_eo_t eo)
 
em_status_t eo_add_queue (eo_elem_t *const eo_elem, queue_elem_t *const q_elem)
 
em_status_t eo_rem_queue (eo_elem_t *const eo_elem, queue_elem_t *const q_elem)
 
em_status_t eo_rem_queue_all (eo_elem_t *const eo_elem)
 
em_status_t eo_delete_queue_all (eo_elem_t *const eo_elem)
 
em_status_t eo_start_local_req (eo_elem_t *const eo_elem, int num_notif, const em_notif_t notif_tbl[])
 
em_status_t eo_start_sync_local_req (eo_elem_t *const eo_elem)
 
int eo_start_buffer_events (const em_event_t events[], int num, em_queue_t queue)
 
void eo_start_send_buffered_events (eo_elem_t *const eo_elem)
 
em_status_t eo_stop_local_req (eo_elem_t *const eo_elem, int num_notif, const em_notif_t notif_tbl[])
 
em_status_t eo_stop_sync_local_req (eo_elem_t *const eo_elem)
 
em_status_t eo_remove_queue_local_req (eo_elem_t *const eo_elem, queue_elem_t *const q_elem, int num_notif, const em_notif_t notif_tbl[])
 
em_status_t eo_remove_queue_sync_local_req (eo_elem_t *const eo_elem, queue_elem_t *const q_elem)
 
em_status_t eo_remove_queue_all_local_req (eo_elem_t *const eo_elem, int delete_queues, int num_notif, const em_notif_t notif_tbl[])
 
em_status_t eo_remove_queue_all_sync_local_req (eo_elem_t *const eo_elem, int delete_queues)
 
unsigned int eo_count (void)
 
size_t eo_get_name (const eo_elem_t *const eo_elem, char name[], const size_t maxlen)
 
odp_stash_t eo_start_stash_create (void)
 Create a stash used to buffer events sent during EO-start.
 
void i_event__eo_local_func_call_req (const internal_event_t *i_ev)
 
void eo_info_print_all (void)
 
void eo_queue_info_print (em_eo_t eo)
 

Detailed Description

EM internal EO functions

Definition in file em_eo.h.

Function Documentation

◆ eo_add_queue()

em_status_t eo_add_queue ( eo_elem_t *const  eo_elem,
queue_elem_t *const  q_elem 
)

Add a queue to an EO

Definition at line 164 of file em_eo.c.

◆ eo_info_print_all()

void eo_info_print_all ( void  )

Print information about all EOs

Definition at line 1253 of file em_eo.c.

◆ eo_queue_info_print()

void eo_queue_info_print ( em_eo_t  eo)

Print information about all queues of the given eo

Definition at line 1326 of file em_eo.c.

◆ eo_rem_queue()

em_status_t eo_rem_queue ( eo_elem_t *const  eo_elem,
queue_elem_t *const  q_elem 
)

Remove a queue from an EO

Definition at line 221 of file em_eo.c.

◆ eo_start_buffer_events()

int eo_start_buffer_events ( const em_event_t  events[],
int  num,
em_queue_t  queue 
)

Called by em_send() & variants during an EO start-function.

Events sent from within the EO-start functions are buffered and sent after the start-operation has completed. Otherwise it would not be possible to reliably send events from the start-functions to the EO's own queues.

Definition at line 412 of file em_eo.c.

◆ eo_start_send_buffered_events()

void eo_start_send_buffered_events ( eo_elem_t *const  eo_elem)

Send the buffered events at the end of the EO-start operation.

Events sent from within the EO-start functions are buffered and sent after the start-operation has completed. Otherwise it would not be possible to reliably send events from the start-functions to the EO's own queues.

Definition at line 471 of file em_eo.c.

◆ i_event__eo_local_func_call_req()

void i_event__eo_local_func_call_req ( const internal_event_t i_ev)

EM internal event handler (see em_internal_event.c&h) Handle the internal event requesting a local function call.

Definition at line 1073 of file em_eo.c.