Core tasks: internal asynchronous tasks.
Core tasks are defined here only for the sake of inlining, but are private. More...
Data Structures | |
| struct | nm_matching_container_s |
| containers for matching info, used for caching More... | |
| struct | nm_core_task_s |
| asynchronous tasks for nmad core. More... | |
Macros | |
| #define | NM_MATCHING_CONTAINER_NULL ((struct nm_matching_container_s) { NULL }) |
Typedefs | |
| typedef enum nm_core_task_kind_e | nm_core_task_kind_t |
Enumerations | |
| enum | nm_core_task_kind_e { NM_CORE_TASK_INVALID = -1 , NM_CORE_TASK_NONE = 0 , NM_CORE_TASK_NOP = 1 , NM_CORE_TASK_UNPACK_NEXT = 2 , NM_CORE_TASK_COMPLETED_PW = 3 , NM_CORE_TASK_COMPLETED_PREFETCH = 4 , NM_CORE_TASK_CANCELLED_PREFETCH = 5 , NM_CORE_TASK_PACK_SUBMISSION = 6 , NM_CORE_TASK_RTR_SEND = 7 , NM_CORE_TASK_HANDLER = 8 } |
Functions | |
| void | nm_core_task_submit_locked (struct nm_core *p_core, void(*p_handler)(void)) |
| lock then submit task to pending list This is used mostly for benchmarks. | |
| void | nm_core_task_submit_unlocked (struct nm_core *p_core, void(*p_handler)(void)) |
| submit task lock-free to the submission list This is used mostly for benchmarks. | |
Detailed Description
Core tasks are defined here only for the sake of inlining, but are private.
Macro Definition Documentation
◆ NM_MATCHING_CONTAINER_NULL
| #define NM_MATCHING_CONTAINER_NULL ((struct nm_matching_container_s) { NULL }) |
Definition at line 387 of file nm_core_interface.h.
Typedef Documentation
◆ nm_core_task_kind_t
| typedef enum nm_core_task_kind_e nm_core_task_kind_t |
Definition at line 377 of file nm_core_interface.h.
Enumeration Type Documentation
◆ nm_core_task_kind_e
| enum nm_core_task_kind_e |
Definition at line 364 of file nm_core_interface.h.
Function Documentation
◆ nm_core_task_submit_locked()
| void nm_core_task_submit_locked | ( | struct nm_core * | p_core, |
| void(*)(void) | p_handler | ||
| ) |
lock then submit task to pending list This is used mostly for benchmarks.
Internal uses may use directly nm_core_task_enqueue()
◆ nm_core_task_submit_unlocked()
| void nm_core_task_submit_unlocked | ( | struct nm_core * | p_core, |
| void(*)(void) | p_handler | ||
| ) |
submit task lock-free to the submission list This is used mostly for benchmarks.
Internal uses may use directly nm_core_task_enqueue()