Remote queues.
Enqueue messages remotely in receiver queue. More...
Typedefs | |
| typedef int | nm_onesided_queue_id_t |
| local id for a queue | |
Functions | |
| nm_onesided_queue_id_t | nm_onesided_queue_create (nm_onesided_t p_onesided) |
| create a local queue, accessible remotely | |
| void | nm_onesided_queue_ienqueue (nm_onesided_t p_onesided, struct nm_gate_s *p_gate, nm_onesided_queue_id_t queue, const void *p_ptr, nm_len_t len, nm_onesided_request_t *p_req) |
| enqueue a message in the given remote queue, non-blocking version | |
| void | nm_onesided_queue_enqueue (nm_onesided_t p_onesided, struct nm_gate_s *p_gate, nm_onesided_queue_id_t queue, const void *p_ptr, nm_len_t len) |
| enqueue a message in the given remote queue, blocking version | |
| void * | nm_onesided_queue_dequeue (nm_onesided_t p_onesided, nm_onesided_queue_id_t queue) |
| try to dequeue an entry from local queue; return NULL if queue is empty. | |
Detailed Description
Enqueue messages remotely in receiver queue.
Queue creation is a local operation. Queue id is then transmited by the user. Remote enqueue has a local completion; it doesn't wait for remote completion. Upon error, messages are discarded.
Typedef Documentation
◆ nm_onesided_queue_id_t
| typedef int nm_onesided_queue_id_t |
local id for a queue
Definition at line 117 of file nm_onesided_interface.h.
Function Documentation
◆ nm_onesided_queue_create()
| nm_onesided_queue_id_t nm_onesided_queue_create | ( | nm_onesided_t | p_onesided | ) |
create a local queue, accessible remotely
- Examples
- nm_onesided_queues.c.
◆ nm_onesided_queue_dequeue()
| void * nm_onesided_queue_dequeue | ( | nm_onesided_t | p_onesided, |
| nm_onesided_queue_id_t | queue | ||
| ) |
try to dequeue an entry from local queue; return NULL if queue is empty.
The caller takes ownership of data and must free it after use.
- Examples
- nm_onesided_queues.c.
◆ nm_onesided_queue_enqueue()
| void nm_onesided_queue_enqueue | ( | nm_onesided_t | p_onesided, |
| struct nm_gate_s * | p_gate, | ||
| nm_onesided_queue_id_t | queue, | ||
| const void * | p_ptr, | ||
| nm_len_t | len | ||
| ) |
enqueue a message in the given remote queue, blocking version
◆ nm_onesided_queue_ienqueue()
| void nm_onesided_queue_ienqueue | ( | nm_onesided_t | p_onesided, |
| struct nm_gate_s * | p_gate, | ||
| nm_onesided_queue_id_t | queue, | ||
| const void * | p_ptr, | ||
| nm_len_t | len, | ||
| nm_onesided_request_t * | p_req | ||
| ) |
enqueue a message in the given remote queue, non-blocking version
- Examples
- nm_onesided_queues.c.