|
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 More...
|
|
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 More...
|
|
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 More...
|
|
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 More...
|
|
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 More...
|
|
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 More...
|
|
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 More...
|
|
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 More...
|
|
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 More...
|
|
static int | nm_sr_recv_post (nm_session_t p_session, nm_sr_request_t *p_request) |
| posts the receive request to the scheduler More...
|
|
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. More...
|
|
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. More...
|
|
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. More...
|
|
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. More...
|
|
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. More...
|
|
int | nm_sr_progress (nm_session_t p_session) |
| Calls the scheduler. More...
|
|
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. More...
|
|
int | nm_sr_scancel (nm_session_t p_session, nm_sr_request_t *p_request) |
| Cancel a emission request. More...
|
|
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. More...
|
|
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. More...
|
|
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. More...
|
|
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. More...
|
|
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. More...
|
|
int | nm_sr_rcancel (nm_session_t p_session, nm_sr_request_t *p_request) |
| Cancel a reception request. More...
|
|
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. More...
|
|
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 . More...
|
|
int | nm_sr_monitor (nm_session_t p_session, nm_sr_event_t mask, nm_sr_event_notifier_t notifier) |
| monitors sendrecv events globally More...
|
|
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 More...
|
|
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 More...
|
|
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). More...
|
|
int | nm_sr_send_success (nm_session_t p_session, nm_sr_request_t **out_req) |
| Poll for any completed send request. More...
|
|
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 More...
|
|
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 More...
|
|
enum | nm_sr_event_t {
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. More...
|
|
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. More...
|
|
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. More...
|
|
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. More...
|
|
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. More...
|
|
static int | nm_sr_request_isnull (nm_sr_request_t *p_request) |
| tests whether a request is NULL More...
|
|
static int | nm_sr_request_set_ref (nm_sr_request_t *p_request, void *ref) |
| Add a user reference to a request. More...
|
|
static void * | nm_sr_request_get_ref (nm_sr_request_t *p_request) |
| Retrieve the 'ref' from a sendrecv request. More...
|
|
static nm_tag_t | nm_sr_request_get_tag (nm_sr_request_t *p_request) |
| Retrieve the tag from a sendrecv request. More...
|
|
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. More...
|
|
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. More...
|
|
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. More...
|
|
int | nm_sr_request_wait (nm_sr_request_t *p_request) |
| Wait for request completion (or cancelation) More...
|
|
static void | nm_sr_request_wait_all (nm_sr_request_t **p_requests, int n) |
| wait for completion of an array of requests More...
|
|
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. More...
|
|
static int | nm_sr_request_get_error (nm_sr_request_t *p_request) |
| Get the error status of the request. More...
|
|
int | nm_sr_flush (struct nm_session_s *p_session) |
| Flush all pending requests (force submission to the core) and all pending events. More...
|
|
static void | nm_sr_send_init (nm_session_t p_session, nm_sr_request_t *p_request) |
| Init a send request. More...
|
|
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. More...
|
|
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. More...
|
|
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. More...
|
|
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 More...
|
|
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 More...
|
|
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 More...
|
|
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 More...
|
|
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 More...
|
|
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. More...
|
|
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. More...
|
|