#include <nm_public.h>#include <nm_session_interface.h>#include <nm_core_interface.h>#include <sys/uio.h>#include <limits.h>#include <nm_sendrecv_private.h>

Go to the source code of this file.
Data Structures | |
| union | nm_sr_event_info_t |
| information field for sendrecv events More... | |
| struct | nm_sr_monitor_s |
| a global monitor to listen to events on the full session More... | |
Macros | |
| #define | NM_SR_PRIORITY_MIN INT_MIN |
| minimum priority level | |
| #define | NM_SR_PRIORITY_MAX INT_MAX |
| maximum priority level | |
Functions | |
| static void | nm_sr_recv_init (nm_session_t p_session, nm_sr_request_t *p_request) |
| static void | nm_sr_recv_unpack_contiguous (nm_session_t p_session, nm_sr_request_t *p_request, void *ptr, nm_len_t len) |
| static void | nm_sr_recv_unpack_iov (nm_session_t p_session, nm_sr_request_t *p_request, const struct iovec *iov, int num_entry) |
| static void | nm_sr_recv_unpack_data (nm_session_t p_session, nm_sr_request_t *p_request, const struct nm_data_s *p_data) |
| static int | nm_sr_recv_irecv (nm_session_t p_session, nm_sr_request_t *p_request, nm_gate_t p_gate, nm_tag_t tag, nm_tag_t mask) |
| static void | nm_sr_recv_match (nm_session_t p_session, nm_sr_request_t *p_request, nm_gate_t p_gate, nm_tag_t tag, nm_tag_t mask) |
| match the request with given gate/tag/mask | |
| static void | nm_sr_recv_match_event (nm_session_t p_session, nm_sr_request_t *p_request, const nm_sr_event_info_t *p_event) |
| match the request with event | |
| static int | nm_sr_recv_peek (nm_session_t p_session, nm_sr_request_t *p_request, const struct nm_data_s *p_data) |
| peek for already received (unexpected) data | |
| static int | nm_sr_recv_peek_offset (nm_session_t p_session, nm_sr_request_t *p_request, const struct nm_data_s *p_data, nm_len_t peek_offset, nm_len_t peek_len) |
| peek for already received (unexpected) data, with offset and explicit len | |
| static void | nm_sr_recv_offset (nm_session_t p_session, nm_sr_request_t *p_request, nm_len_t offset) |
| set offset of data to receive; data before offset will be discarded | |
| static int | nm_sr_recv_iprobe (nm_session_t p_session, nm_sr_request_t *p_request) |
| probes whether an incoming packet matched this non-posted request | |
| static void | nm_sr_recv_data_wait (nm_session_t p_session, nm_sr_request_t *p_request) |
| waits for first byte of data to be available, for a request posted without data descriptor | |
| static void | nm_sr_recv_data_size_wait (nm_session_t p_session, nm_sr_request_t *p_request) |
| waits for data size to be available, for a request posted without data descriptor | |
| static int | nm_sr_recv_data_test (nm_session_t p_session, nm_sr_request_t *p_request) |
| checks whether data is available, for a request posted without data descriptor | |
| static int | nm_sr_recv_post (nm_session_t p_session, nm_sr_request_t *p_request) |
| posts the receive request to the scheduler | |
| static int | nm_sr_issend (nm_session_t p_session, nm_gate_t p_gate, nm_tag_t tag, const void *data, nm_len_t len, nm_sr_request_t *p_request) |
| Synchronous send. | |
| static int | nm_sr_isend (nm_session_t p_session, nm_gate_t p_gate, nm_tag_t tag, const void *data, nm_len_t len, nm_sr_request_t *p_request) |
| Post a non blocking send request. | |
| static int | nm_sr_isend_with_ref (nm_session_t p_session, nm_gate_t p_gate, nm_tag_t tag, const void *data, nm_len_t len, nm_sr_request_t *p_request, void *ref) |
| static int | nm_sr_rsend (nm_session_t p_session, nm_gate_t p_gate, nm_tag_t tag, const void *data, nm_len_t len, nm_sr_request_t *p_request) |
| Post a ready send request, i.e. | |
| static int | nm_sr_isend_iov (nm_session_t p_session, nm_gate_t p_gate, nm_tag_t tag, const struct iovec *iov, int num_entries, nm_sr_request_t *p_request) |
| Test for the completion of a non blocking send request. | |
| static int | nm_sr_isend_iov_with_ref (nm_session_t p_session, nm_gate_t p_gate, nm_tag_t tag, const struct iovec *iov, int num_entries, nm_sr_request_t *p_request, void *ref) |
| static int | nm_sr_isend_data (nm_session_t p_session, nm_gate_t p_gate, nm_tag_t tag, struct nm_data_s *p_data, nm_sr_request_t *p_request) |
| int | nm_sr_stest (nm_session_t p_session, nm_sr_request_t *p_request) |
| Test for the completion of a non blocking send request. | |
| int | nm_sr_progress (nm_session_t p_session) |
| Calls the scheduler. | |
| static int | nm_sr_swait (nm_session_t p_session, nm_sr_request_t *p_request) |
| Wait for the completion of a non blocking send request. | |
| int | nm_sr_scancel (nm_session_t p_session, nm_sr_request_t *p_request) |
| Cancel a emission request. | |
| static int | nm_sr_irecv (nm_session_t p_session, nm_gate_t p_gate, nm_tag_t tag, void *data, nm_len_t len, nm_sr_request_t *p_request) |
| Post a non blocking receive request. | |
| static int | nm_sr_irecv_with_ref (nm_session_t p_session, nm_gate_t p_gate, nm_tag_t tag, void *data, nm_len_t len, nm_sr_request_t *p_request, void *ref) |
| Test for the completion of a non blocking receive request. | |
| static int | nm_sr_irecv_iov (nm_session_t p_session, nm_gate_t p_gate, nm_tag_t tag, struct iovec *iov, int num_entries, nm_sr_request_t *p_request) |
| static int | nm_sr_irecv_iov_with_ref (nm_session_t p_session, nm_gate_t p_gate, nm_tag_t tag, struct iovec *iov, int num_entries, nm_sr_request_t *p_request, void *ref) |
| static int | nm_sr_irecv_data (nm_session_t p_session, nm_gate_t p_gate, nm_tag_t tag, struct nm_data_s *p_data, nm_sr_request_t *p_request) |
| int | nm_sr_rtest (nm_session_t p_session, nm_sr_request_t *p_request) |
| Test for the completion of a non blocking receive request. | |
| static int | nm_sr_rwait (nm_session_t p_session, nm_sr_request_t *p_request) |
| Wait for the completion of a non blocking receive request. | |
| static int | nm_sr_rwait_data (nm_session_t p_session, nm_sr_request_t *p_request) |
| Wait for data to be available from a non blocking receive request. | |
| int | nm_sr_rcancel (nm_session_t p_session, nm_sr_request_t *p_request) |
| Cancel a reception request. | |
| int | nm_sr_recv_source (nm_session_t p_session, nm_sr_request_t *p_request, nm_gate_t *p_gate) |
| Retrieve the pkt source of a complete any source receive request. | |
| int | nm_sr_probe (nm_session_t p_session, nm_gate_t p_gate, nm_gate_t *p_out_gate, nm_tag_t tag, nm_tag_t tag_mask, nm_tag_t *p_out_tag, nm_len_t *p_out_len) |
| Unblockingly check if a packet is available for extraction on the (gate,tag) pair . | |
| int | nm_sr_monitor (nm_session_t p_session, nm_sr_event_t mask, nm_sr_event_notifier_t notifier) |
| monitors sendrecv events globally | |
| int | nm_sr_session_monitor_set (nm_session_t p_session, const struct nm_sr_monitor_s *p_monitor) |
| set a monitor for events on the session | |
| int | nm_sr_session_monitor_remove (nm_session_t p_session, const struct nm_sr_monitor_s *p_monitor) |
| remove the event monitor from the session | |
| int | nm_sr_recv_success (nm_session_t p_session, nm_sr_request_t **out_req) |
| Poll for any completed recv request (any source, any tag). | |
| int | nm_sr_send_success (nm_session_t p_session, nm_sr_request_t **out_req) |
| Poll for any completed send request. | |
| static int | nm_sr_send (nm_session_t p_session, nm_gate_t p_gate, nm_tag_t tag, const void *data, nm_len_t len) |
| blocking send | |
| static int | nm_sr_recv (nm_session_t p_session, nm_gate_t p_gate, nm_tag_t tag, void *data, nm_len_t len) |
| blocking recv | |
| enum | nm_sr_event_t { NM_SR_EVENT_NONE = 0 , NM_SR_EVENT_RECV_UNEXPECTED , NM_SR_EVENT_RECV_COMPLETED , NM_SR_EVENT_SEND_COMPLETED , NM_SR_EVENT_RECV_DATA , NM_SR_EVENT_RECV_CANCELLED , NM_SR_EVENT_FINALIZED } |
| events for nm_sr_monitor() More... | |
| typedef struct nm_sr_request_s | nm_sr_request_t |
| a sendrecv request object. | |
| typedef void(* | nm_sr_event_notifier_t) (nm_sr_event_t event, const nm_sr_event_info_t *event_info, void *ref) |
| notification function for sendrecv events. | |
| int | nm_sr_request_monitor (nm_session_t p_session, nm_sr_request_t *p_request, nm_sr_event_t mask, nm_sr_event_notifier_t notifier) |
| Set a notification function called upon request completion. | |
| int | nm_sr_request_set_completion_queue (nm_session_t p_session, nm_sr_request_t *p_request) |
| Ask to enqueue the request in the completion queue upon completion. | |
| int | nm_sr_request_unset_completion_queue (nm_session_t p_session, nm_sr_request_t *p_request) |
| Ask to not enqueue the request in the completion queue upon completion. | |
| static int | nm_sr_request_isnull (nm_sr_request_t *p_request) |
| tests whether a request is NULL | |
| static int | nm_sr_request_set_ref (nm_sr_request_t *p_request, void *ref) |
| Add a user reference to a request. | |
| static void * | nm_sr_request_get_ref (nm_sr_request_t *p_request) |
| Retrieve the 'ref' from a sendrecv request. | |
| static nm_tag_t | nm_sr_request_get_tag (nm_sr_request_t *p_request) |
| Retrieve the tag from a sendrecv request. | |
| static int | nm_sr_request_get_size (nm_sr_request_t *request, nm_len_t *size) |
| Returns the actual received or sent size of the message with the specified request. | |
| static int | nm_sr_request_get_expected_size (nm_sr_request_t *request, nm_len_t *size) |
| Returns the expected size (to be received or to be sent) of the message with the specified request. | |
| static nm_gate_t | nm_sr_request_get_gate (nm_sr_request_t *p_request) |
| static nm_session_t | nm_sr_request_get_session (nm_sr_request_t *p_request) |
| Returns the session this request belongs to. | |
| int | nm_sr_request_wait (nm_sr_request_t *p_request) |
| Wait for request completion (or cancelation) | |
| static void | nm_sr_request_wait_all (nm_sr_request_t **p_requests, int n) |
| wait for completion of an array of requests | |
| static int | nm_sr_request_test (nm_sr_request_t *p_request, nm_status_t status) |
| Tests whether the given status bits are set in request. | |
| static int | nm_sr_request_get_error (nm_sr_request_t *p_request) |
| Get the error status of the request. | |
| int | nm_sr_flush (struct nm_session_s *p_session) |
| Flush all pending requests (force submission to the core) and all pending events. | |
| static void | nm_sr_send_init (nm_session_t p_session, nm_sr_request_t *p_request) |
| Init a send request. | |
| static void | nm_sr_send_pack_contiguous (nm_session_t p_session, nm_sr_request_t *p_request, const void *, nm_len_t len) |
| Pack contiguous data into the given request. | |
| static void | nm_sr_send_pack_iov (nm_session_t p_session, nm_sr_request_t *p_request, const struct iovec *iov, int num_entries) |
| Pack data described through iovec into the given request. | |
| static void | nm_sr_send_pack_data (nm_session_t p_session, nm_sr_request_t *p_request, const struct nm_data_s *p_data) |
| Pack data described through an iterator into the given request. | |
| static int | nm_sr_send_isend (nm_session_t p_session, nm_sr_request_t *p_request, nm_gate_t p_gate, nm_tag_t tag) |
| send a built request to given gate & tag | |
| static int | nm_sr_send_issend (nm_session_t p_session, nm_sr_request_t *p_request, nm_gate_t p_gate, nm_tag_t tag) |
| send a built request in synchronous mode | |
| static int | nm_sr_send_rsend (nm_session_t p_session, nm_sr_request_t *p_request, nm_gate_t p_gate, nm_tag_t tag) |
| send a built request in ready mode | |
| static int | nm_sr_send_dest (nm_session_t p_session, nm_sr_request_t *p_request, nm_gate_t p_gate, nm_tag_t tag) |
| set destination to a request, but do not send it immediately | |
| static int | nm_sr_send_header (nm_session_t p_session, nm_sr_request_t *p_request, nm_len_t hlen) |
| static int | nm_sr_send_submit (nm_session_t p_session, nm_sr_request_t *p_request) |
| submit the request once it is built | |
| static int | nm_sr_send_submit_chunks (nm_session_t p_session, nm_sr_request_t *p_request, int n, const struct nm_chunk_s *p_chunks) |
| submit partial chunks of a request. | |
| static void | nm_sr_send_set_priority (nm_session_t p_session, nm_sr_request_t *p_request, nm_prio_t priority) |
| attach the given priority to the request. | |
Macro Definition Documentation
◆ NM_SR_PRIORITY_MAX
| #define NM_SR_PRIORITY_MAX INT_MAX |
maximum priority level
Definition at line 207 of file nm_sendrecv_interface.h.
◆ NM_SR_PRIORITY_MIN
| #define NM_SR_PRIORITY_MIN INT_MIN |
minimum priority level
Definition at line 204 of file nm_sendrecv_interface.h.
Function Documentation
◆ nm_sr_irecv()
|
inlinestatic |
Post a non blocking receive request.
- Parameters
-
p_session a pointer to a nmad session object. p_gate a pointer to the destination gate. tag the message tag. data the data fragment pointer. len the data fragment length. p_request a pointer to a sendrecv request to be filled.
- Returns
- The NM status.
- Examples
- nm_bench_req_monitor.c, and nm_sr_hello.c.
Definition at line 404 of file nm_sendrecv_interface.h.
References len, NM_ESUCCESS, nm_sr_recv_init(), nm_sr_recv_irecv(), nm_sr_recv_unpack_contiguous(), NM_TAG_MASK_FULL, p_gate, p_session, and tag.
Referenced by nm_sr_recv().

◆ nm_sr_irecv_data()
|
inlinestatic |
- Examples
- nm_sr_custom_data.c.
Definition at line 458 of file nm_sendrecv_interface.h.
References nm_sr_recv_init(), nm_sr_recv_irecv(), nm_sr_recv_unpack_data(), NM_TAG_MASK_FULL, p_gate, p_session, and tag.
Referenced by nm_coll_tree_recv().

◆ nm_sr_irecv_iov()
|
inlinestatic |
Definition at line 437 of file nm_sendrecv_interface.h.
References nm_sr_recv_init(), nm_sr_recv_irecv(), nm_sr_recv_unpack_iov(), NM_TAG_MASK_FULL, p_gate, p_session, and tag.

◆ nm_sr_irecv_iov_with_ref()
|
inlinestatic |
Definition at line 447 of file nm_sendrecv_interface.h.
References nm_sr_recv_init(), nm_sr_recv_irecv(), nm_sr_recv_unpack_iov(), nm_sr_request_set_ref(), NM_TAG_MASK_FULL, p_gate, p_session, and tag.

◆ nm_sr_irecv_with_ref()
|
inlinestatic |
Test for the completion of a non blocking receive request.
- Parameters
-
p_session a pointer to a nmad session object. p_gate a pointer to the destination gate. tag the message tag. data the data fragment pointer. len the data fragment length. p_request a pointer to a sendrecv request to be filled. ref
- Returns
- The NM status.
Definition at line 425 of file nm_sendrecv_interface.h.
References len, nm_sr_recv_init(), nm_sr_recv_irecv(), nm_sr_recv_unpack_contiguous(), nm_sr_request_set_ref(), NM_TAG_MASK_FULL, p_gate, p_session, and tag.

◆ nm_sr_isend()
|
inlinestatic |
Post a non blocking send request.
- Parameters
-
p_session a pointer to a nmad session object. p_gate a pointer to the destination gate. tag the message tag. data the data fragment pointer. len the data fragment length. p_request a pointer to a NM request to be filled.
- Returns
- The NM status.
- Examples
- nm_bench_req_monitor.c, nm_sr_hello.c, and nm_sr_peek.c.
Definition at line 275 of file nm_sendrecv_interface.h.
References len, nm_sr_send_init(), nm_sr_send_isend(), nm_sr_send_pack_contiguous(), p_gate, p_session, and tag.
Referenced by nm_sr_send().

◆ nm_sr_isend_data()
|
inlinestatic |
- Examples
- nm_sr_custom_data.c.
Definition at line 353 of file nm_sendrecv_interface.h.
References nm_sr_send_init(), nm_sr_send_isend(), nm_sr_send_pack_data(), p_gate, p_session, and tag.
Referenced by nm_coll_tree_send().

◆ nm_sr_isend_iov()
|
inlinestatic |
Test for the completion of a non blocking send request.
- Parameters
-
p_session a pointer to a nmad session object. p_gate a pointer to the destination gate. tag the message tag. iov num_entries p_request a pointer to a sendrecv request to be filled.
- Returns
- The NM status.
Definition at line 329 of file nm_sendrecv_interface.h.
References nm_sr_send_init(), nm_sr_send_isend(), nm_sr_send_pack_iov(), p_gate, p_session, and tag.

◆ nm_sr_isend_iov_with_ref()
|
inlinestatic |
Definition at line 340 of file nm_sendrecv_interface.h.
References nm_sr_request_set_ref(), nm_sr_send_init(), nm_sr_send_isend(), nm_sr_send_pack_iov(), p_gate, p_session, and tag.

◆ nm_sr_isend_with_ref()
|
inlinestatic |
Definition at line 286 of file nm_sendrecv_interface.h.
References len, nm_sr_request_set_ref(), nm_sr_send_init(), nm_sr_send_isend(), nm_sr_send_pack_contiguous(), p_gate, p_session, and tag.

◆ nm_sr_issend()
|
inlinestatic |
Synchronous send.
Definition at line 255 of file nm_sendrecv_interface.h.
References len, nm_sr_send_init(), nm_sr_send_issend(), nm_sr_send_pack_contiguous(), p_gate, p_session, and tag.

◆ nm_sr_monitor()
|
extern |
monitors sendrecv events globally
◆ nm_sr_probe()
|
extern |
Unblockingly check if a packet is available for extraction on the (gate,tag) pair .
- Parameters
-
p_session a pointer to a nmad session object. p_gate a pointer to the expected gate. p_out_gate return value with the originating gate. tag the expected message tag. tag_mask a mask to be applied on tag before matching p_out_tag return value with the tag p_out_len return value with the message length
- Returns
- The NM status.
- Note
- p_out_gate, p_out_tag and p_out_len may be NULL
◆ nm_sr_progress()
|
extern |
Calls the scheduler.
- Parameters
-
p_session a pointer to a nmad session object.
- Returns
- The NM status.
Referenced by nm_sr_recv_data_test().
◆ nm_sr_rcancel()
|
extern |
Cancel a reception request.
- Parameters
-
p_session a pointer to a nmad session object. p_request the request to cancel.
- Returns
- The NM status.
◆ nm_sr_recv()
|
inlinestatic |
blocking recv
- Examples
- nm_mcast_basic.c, nm_onesided_queues.c, and nm_onesided_simple.c.
Definition at line 563 of file nm_sendrecv_interface.h.
References len, NM_ESUCCESS, nm_sr_irecv(), nm_sr_rwait(), p_gate, p_session, and tag.
Referenced by nm_sync_clocks_recv().

◆ nm_sr_recv_data_size_wait()
|
inlinestatic |
waits for data size to be available, for a request posted without data descriptor
◆ nm_sr_recv_data_test()
|
inlinestatic |
checks whether data is available, for a request posted without data descriptor
◆ nm_sr_recv_data_wait()
|
inlinestatic |
waits for first byte of data to be available, for a request posted without data descriptor
- Examples
- nm_sr_peek.c.
◆ nm_sr_recv_init()
|
inlinestatic |
- Examples
- nm_sr_peek.c.
Referenced by nm_sr_irecv(), nm_sr_irecv_data(), nm_sr_irecv_iov(), nm_sr_irecv_iov_with_ref(), and nm_sr_irecv_with_ref().
◆ nm_sr_recv_iprobe()
|
inlinestatic |
probes whether an incoming packet matched this non-posted request
◆ nm_sr_recv_irecv()
|
inlinestatic |
Referenced by nm_sr_irecv(), nm_sr_irecv_data(), nm_sr_irecv_iov(), nm_sr_irecv_iov_with_ref(), and nm_sr_irecv_with_ref().
◆ nm_sr_recv_match()
|
inlinestatic |
match the request with given gate/tag/mask
- Examples
- nm_sr_peek.c.
◆ nm_sr_recv_match_event()
|
inlinestatic |
match the request with event
◆ nm_sr_recv_offset()
|
inlinestatic |
set offset of data to receive; data before offset will be discarded
Referenced by nm_rpc_recv_header_data().
◆ nm_sr_recv_peek()
|
inlinestatic |
peek for already received (unexpected) data
- Examples
- nm_sr_peek.c.
◆ nm_sr_recv_peek_offset()
|
inlinestatic |
peek for already received (unexpected) data, with offset and explicit len
Referenced by nm_rpc_recv_header_data().
◆ nm_sr_recv_post()
|
inlinestatic |
posts the receive request to the scheduler
- Examples
- nm_sr_peek.c.
◆ nm_sr_recv_source()
|
extern |
Retrieve the pkt source of a complete any source receive request.
- Parameters
-
p_session a pointer to a nmad session object. p_request the request to check. p_gate a pointer to the destination gate.
- Returns
- The NM status.
◆ nm_sr_recv_success()
|
extern |
Poll for any completed recv request (any source, any tag).
- Note
- call nm_sr_request_set_completion_queue() to generate such an event.
◆ nm_sr_recv_unpack_contiguous()
|
inlinestatic |
- Examples
- nm_sr_peek.c.
Referenced by nm_sr_irecv(), and nm_sr_irecv_with_ref().
◆ nm_sr_recv_unpack_data()
|
inlinestatic |
Referenced by nm_sr_irecv_data().
◆ nm_sr_recv_unpack_iov()
|
inlinestatic |
Referenced by nm_sr_irecv_iov(), and nm_sr_irecv_iov_with_ref().
◆ nm_sr_rsend()
|
inlinestatic |
Post a ready send request, i.e.
assume the receiver is ready thus removing the need for a rdv.
- Parameters
-
p_session a pointer to a nmad session object. p_gate a pointer to the destination gate. tag the message tag. data the data fragment pointer. len the data fragment length. p_request a pointer to a sendrecv request to be filled.
- Returns
- The NM status.
Definition at line 309 of file nm_sendrecv_interface.h.
References len, nm_sr_send_init(), nm_sr_send_pack_contiguous(), nm_sr_send_rsend(), p_gate, p_session, and tag.

◆ nm_sr_rtest()
|
extern |
Test for the completion of a non blocking receive request.
- Parameters
-
p_session a pointer to a nmad session object. p_request the request to check.
- Returns
- The NM status.
◆ nm_sr_rwait()
|
inlinestatic |
Wait for the completion of a non blocking receive request.
- Parameters
-
p_session a pointer to a nmad session object. p_request the request to check.
- Returns
- The NM status.
- Examples
- nm_sr_custom_data.c, nm_sr_hello.c, and nm_sr_peek.c.
Referenced by nm_sr_recv().
◆ nm_sr_rwait_data()
|
inlinestatic |
Wait for data to be available from a non blocking receive request.
- Warning
- the request may not be fully completed, and neither request nor data buffers may be freed at this point.
- Parameters
-
p_session a pointer to a nmad session object. p_request the request to check.
- Returns
- The NM status.
◆ nm_sr_scancel()
|
extern |
Cancel a emission request.
- Parameters
-
p_session a pointer to a nmad session object. p_request the request to cancel.
- Returns
- The NM status.
◆ nm_sr_send()
|
inlinestatic |
blocking send
- Examples
- nm_onesided_queues.c, and nm_onesided_simple.c.
Definition at line 549 of file nm_sendrecv_interface.h.
References len, NM_ESUCCESS, nm_sr_isend(), nm_sr_swait(), p_gate, p_session, and tag.
Referenced by nm_sync_clocks_send().

◆ nm_sr_send_success()
|
extern |
Poll for any completed send request.
- Note
- call nm_sr_request_set_completion_queue() to generate such an event.
◆ nm_sr_session_monitor_remove()
| int nm_sr_session_monitor_remove | ( | nm_session_t | p_session, |
| const struct nm_sr_monitor_s * | p_monitor | ||
| ) |
remove the event monitor from the session
◆ nm_sr_session_monitor_set()
| int nm_sr_session_monitor_set | ( | nm_session_t | p_session, |
| const struct nm_sr_monitor_s * | p_monitor | ||
| ) |
set a monitor for events on the session
◆ nm_sr_stest()
|
extern |
Test for the completion of a non blocking send request.
- Parameters
-
p_session a pointer to a nmad session object. p_request the request to check.
- Returns
- The NM status.
◆ nm_sr_swait()
|
inlinestatic |
Wait for the completion of a non blocking send request.
- Parameters
-
p_session a pointer to a nmad session object. p_request the request to check.
- Returns
- The NM status.
- Examples
- nm_bench_req_monitor.c, nm_sr_custom_data.c, nm_sr_hello.c, and nm_sr_peek.c.
Referenced by nm_rpc_req_wait(), and nm_sr_send().