This file contains private bits of the sendrecv interface. More...


Go to the source code of this file.
Data Structures | |
| struct | nm_sr_event_monitor_s |
| descriptor for an event monitor More... | |
| struct | nm_sr_request_s |
| internal defintion of the sendrecv request More... | |
Macros | |
| #define | NM_SR_EVENT_MONITOR_NULL ((struct nm_sr_event_monitor_s){ .mask = NM_SR_EVENT_NONE, .notifier = NULL }) |
| #define | NM_SR_REQUEST_NULL ((struct nm_sr_request_s){ .p_session = NULL, .monitor = NM_SR_EVENT_MONITOR_NULL, .ref = NULL}) |
Detailed Description
This file contains private bits of the sendrecv interface.
Though it is not part of the interface, it is included in nm_sendrecv_interface.h for the sake of inlining.
Definition in file nm_sendrecv_private.h.
Macro Definition Documentation
◆ NM_SR_EVENT_MONITOR_NULL
| #define NM_SR_EVENT_MONITOR_NULL ((struct nm_sr_event_monitor_s){ .mask = NM_SR_EVENT_NONE, .notifier = NULL }) |
Definition at line 46 of file nm_sendrecv_private.h.
◆ NM_SR_REQUEST_NULL
| #define NM_SR_REQUEST_NULL ((struct nm_sr_request_s){ .p_session = NULL, .monitor = NM_SR_EVENT_MONITOR_NULL, .ref = NULL}) |
Definition at line 60 of file nm_sendrecv_private.h.
Function Documentation
◆ nm_sr_recv_data_size_wait()
|
inlinestatic |
Definition at line 374 of file nm_sendrecv_private.h.
References assert(), nm_status_test(), NM_STATUS_UNPACK_DATA_SIZE, NM_STATUS_UNPACK_POSTED, nm_status_wait(), and nm_sr_request_s::req.

◆ nm_sr_recv_data_test()
|
inlinestatic |
Definition at line 381 of file nm_sendrecv_private.h.
References assert(), NM_EAGAIN, NM_ESUCCESS, nm_sr_progress(), nm_status_test(), NM_STATUS_UNPACK_DATA0, NM_STATUS_UNPACK_POSTED, p_session, and nm_sr_request_s::req.

◆ nm_sr_recv_data_wait()
|
inlinestatic |
Definition at line 367 of file nm_sendrecv_private.h.
References assert(), nm_status_test(), NM_STATUS_UNPACK_DATA0, NM_STATUS_UNPACK_POSTED, nm_status_wait(), and nm_sr_request_s::req.

◆ nm_sr_recv_init()
|
inlinestatic |
Definition at line 275 of file nm_sendrecv_private.h.
References nm_sr_request_s::monitor, nm_core_unpack_init(), NM_SR_EVENT_MONITOR_NULL, p_session, nm_sr_request_s::p_session, nm_sr_request_s::ref, and nm_sr_request_s::req.

◆ nm_sr_recv_iprobe()
|
inlinestatic |
Definition at line 360 of file nm_sendrecv_private.h.
References nm_core_unpack_iprobe(), and nm_sr_request_s::req.

◆ nm_sr_recv_irecv()
|
inlinestatic |
Definition at line 307 of file nm_sendrecv_private.h.
References nm_sr_recv_match(), nm_sr_recv_post(), p_gate, p_session, and tag.

◆ nm_sr_recv_match()
|
inlinestatic |
Definition at line 314 of file nm_sendrecv_private.h.
References nm_session_s::hash_code, nm_core_tag_build(), NM_CORE_TAG_HASH_FULL, nm_core_unpack_match_recv(), p_gate, p_session, nm_sr_request_s::req, and tag.
Referenced by nm_sr_recv_irecv().

◆ nm_sr_recv_match_event()
|
inlinestatic |
Definition at line 323 of file nm_sendrecv_private.h.
References nm_core_unpack_match_event(), nm_sr_event_info_t::p_core_event, nm_sr_event_info_t::recv_unexpected, and nm_sr_request_s::req.

◆ nm_sr_recv_offset()
|
inlinestatic |
Definition at line 353 of file nm_sendrecv_private.h.
References nm_core_unpack_offset(), and nm_sr_request_s::req.

◆ nm_sr_recv_peek()
|
inlinestatic |
Definition at line 337 of file nm_sendrecv_private.h.
References nm_core_unpack_peek(), nm_data_size(), p_data, and nm_sr_request_s::req.

◆ nm_sr_recv_peek_offset()
|
inlinestatic |
Definition at line 345 of file nm_sendrecv_private.h.
References nm_core_unpack_peek(), p_data, and nm_sr_request_s::req.

◆ nm_sr_recv_post()
|
inlinestatic |
Definition at line 330 of file nm_sendrecv_private.h.
References nm_core_unpack_submit(), NM_ESUCCESS, NM_REQ_FLAG_NONE, and nm_sr_request_s::req.
Referenced by nm_sr_recv_irecv().

◆ nm_sr_recv_unpack_contiguous()
|
inlinestatic |
Definition at line 291 of file nm_sendrecv_private.h.
References len, nm_data_contiguous_build(), nm_sr_recv_unpack_data(), and p_session.

◆ nm_sr_recv_unpack_data()
|
inlinestatic |
Definition at line 284 of file nm_sendrecv_private.h.
References nm_core_unpack_data(), p_data, and nm_sr_request_s::req.
Referenced by nm_sr_recv_unpack_contiguous(), and nm_sr_recv_unpack_iov().

◆ nm_sr_recv_unpack_iov()
|
inlinestatic |
Definition at line 299 of file nm_sendrecv_private.h.
References nm_data_iov_build(), nm_sr_recv_unpack_data(), and p_session.

◆ nm_sr_request_get_error()
|
inlinestatic |
Definition at line 159 of file nm_sendrecv_private.h.
References nm_req_s::err, and nm_sr_request_s::req.
◆ nm_sr_request_get_expected_size()
|
inlinestatic |
Definition at line 119 of file nm_sendrecv_private.h.
References assert(), nm_req_s::expected_len, nm_req_s::flags, nm_req_s::len, NM_EAGAIN, NM_EINVAL, NM_ESUCCESS, NM_LEN_UNDEFINED, NM_REQ_FLAG_PACK, NM_REQ_FLAG_UNPACK, nm_status_test(), NM_STATUS_UNPACK_DATA_SIZE, nm_req_s::pack, nm_sr_request_s::req, size, and nm_req_s::unpack.

◆ nm_sr_request_get_gate()
|
inlinestatic |
Definition at line 84 of file nm_sendrecv_private.h.
References nm_req_s::p_gate, and nm_sr_request_s::req.
◆ nm_sr_request_get_ref()
|
inlinestatic |
Definition at line 69 of file nm_sendrecv_private.h.
References nm_sr_request_s::ref.
◆ nm_sr_request_get_session()
|
inlinestatic |
Definition at line 74 of file nm_sendrecv_private.h.
References nm_sr_request_s::p_session.
◆ nm_sr_request_get_size()
|
inlinestatic |
Definition at line 100 of file nm_sendrecv_private.h.
References nm_req_s::cumulated_len, nm_req_s::done, nm_req_s::flags, NM_EINVAL, NM_ESUCCESS, NM_LEN_UNDEFINED, NM_REQ_FLAG_PACK, NM_REQ_FLAG_UNPACK, nm_req_s::pack, nm_sr_request_s::req, size, and nm_req_s::unpack.
◆ nm_sr_request_get_tag()
|
inlinestatic |
Definition at line 79 of file nm_sendrecv_private.h.
References nm_core_tag_get_tag(), nm_sr_request_s::req, and nm_req_s::tag.

◆ nm_sr_request_isnull()
|
inlinestatic |
Definition at line 64 of file nm_sendrecv_private.h.
References nm_sr_request_s::p_session.
◆ nm_sr_request_set_ref()
|
inlinestatic |
Definition at line 89 of file nm_sendrecv_private.h.
References NM_EALREADY, NM_ESUCCESS, and nm_sr_request_s::ref.
◆ nm_sr_request_test()
|
inlinestatic |
Definition at line 155 of file nm_sendrecv_private.h.
References nm_status_test_allbits(), nm_sr_request_s::req, and status.

◆ nm_sr_request_wait_all()
|
inlinestatic |
Definition at line 147 of file nm_sendrecv_private.h.
References assert(), NM_STATUS_FINALIZED, nm_status_wait_all(), and nm_sr_request_s::req.

◆ nm_sr_rwait()
|
inlinestatic |
Definition at line 163 of file nm_sendrecv_private.h.
References nm_sr_request_wait().

◆ nm_sr_rwait_data()
|
inlinestatic |
Definition at line 167 of file nm_sendrecv_private.h.
References nm_req_s::err, NM_STATUS_UNPACK_COMPLETED, nm_status_wait(), and nm_sr_request_s::req.

◆ nm_sr_send_dest()
|
inlinestatic |
Definition at line 209 of file nm_sendrecv_private.h.
References nm_session_s::hash_code, nm_core_pack_send(), nm_core_tag_build(), NM_ESUCCESS, p_gate, p_session, nm_sr_request_s::req, and tag.
Referenced by nm_sr_send_isend().

◆ nm_sr_send_header()
|
inlinestatic |
Definition at line 225 of file nm_sendrecv_private.h.
References hlen, nm_core_pack_set_hlen(), NM_ESUCCESS, and nm_sr_request_s::req.

◆ nm_sr_send_init()
|
inlinestatic |
Definition at line 180 of file nm_sendrecv_private.h.
References nm_sr_request_s::monitor, nm_core_pack_init(), NM_SR_EVENT_MONITOR_NULL, p_session, nm_sr_request_s::p_session, nm_sr_request_s::ref, and nm_sr_request_s::req.

◆ nm_sr_send_isend()
|
inlinestatic |
Definition at line 247 of file nm_sendrecv_private.h.
References NM_ESUCCESS, nm_sr_send_dest(), nm_sr_send_submit(), p_gate, p_session, and tag.

◆ nm_sr_send_issend()
|
inlinestatic |
Definition at line 254 of file nm_sendrecv_private.h.
References nm_session_s::hash_code, nm_core_pack_send(), nm_core_pack_submit(), nm_core_tag_build(), NM_ESUCCESS, NM_REQ_FLAG_PACK_SYNCHRONOUS, p_gate, p_session, nm_sr_request_s::req, and tag.

◆ nm_sr_send_pack_contiguous()
|
inlinestatic |
Definition at line 194 of file nm_sendrecv_private.h.
References len, nm_data_contiguous_build(), nm_sr_send_pack_data(), and p_session.

◆ nm_sr_send_pack_data()
|
inlinestatic |
Definition at line 188 of file nm_sendrecv_private.h.
References nm_core_pack_data(), p_data, and nm_sr_request_s::req.
Referenced by nm_sr_send_pack_contiguous(), and nm_sr_send_pack_iov().

◆ nm_sr_send_pack_iov()
|
inlinestatic |
Definition at line 201 of file nm_sendrecv_private.h.
References nm_data_iov_build(), nm_sr_send_pack_data(), and p_session.

◆ nm_sr_send_rsend()
|
inlinestatic |
Definition at line 263 of file nm_sendrecv_private.h.
References nm_session_s::hash_code, nm_core_pack_send(), nm_core_pack_submit(), nm_core_tag_build(), NM_ESUCCESS, p_gate, p_session, nm_sr_request_s::req, and tag.

◆ nm_sr_send_set_priority()
|
inlinestatic |
Definition at line 218 of file nm_sendrecv_private.h.
References nm_core_pack_set_priority(), priority, and nm_sr_request_s::req.

◆ nm_sr_send_submit()
|
inlinestatic |
Definition at line 232 of file nm_sendrecv_private.h.
References nm_core_pack_submit(), NM_ESUCCESS, and nm_sr_request_s::req.
Referenced by nm_sr_send_isend().

◆ nm_sr_send_submit_chunks()
|
inlinestatic |
Definition at line 239 of file nm_sendrecv_private.h.
References nm_core_pack_submit_chunks(), NM_ESUCCESS, and nm_sr_request_s::req.

◆ nm_sr_swait()
|
inlinestatic |
Definition at line 173 of file nm_sendrecv_private.h.
References nm_sr_request_wait().
