16#ifndef NM_PACK_INTERFACE_H
17#define NM_PACK_INTERFACE_H
int nm_pack(nm_pack_cnx_t *p_cnx, const void *ptr, nm_len_t len)
Append a data fragment to the current message.
int nm_end_packing(nm_pack_cnx_t *p_cnx)
End building and send the current message.
int nm_end_unpacking(nm_pack_cnx_t *p_cnx)
End receiving and flush extraction of the current message.
int nm_begin_unpacking(nm_session_t p_session, nm_gate_t p_gate, nm_tag_t tag, nm_pack_cnx_t *p_cnx)
Start receiving and extracting a new message.
int nm_begin_packing(nm_session_t p_session, nm_gate_t p_gate, nm_tag_t tag, nm_pack_cnx_t *p_cnx)
Start building a new message for sending.
int nm_unpack(nm_pack_cnx_t *p_cnx, void *ptr, nm_len_t len)
Extract a data fragment from the current message; data will actually be available after end_unpacking...
int nm_unpack_express(nm_pack_cnx_t *p_cnx, void *ptr, nm_len_t len)
Extract a data fragment from the current message in express mode: data will be available upon functio...
int nm_pack_express(nm_pack_cnx_t *p_cnx, const void *ptr, nm_len_t len)
Append a data fragment to the current message, in express mode: data will be aavailable immediately a...
nm_tag_t tag
the user-supplied tag
static nm_session_t p_session
This is the common public header for NewMad.
uint64_t nm_tag_t
user tags, 64 bits, contained in indirect hashtable
uint64_t nm_len_t
data length used by nmad
encapsulate a dynamic vector of nm_data
Connection to another process.
Content for the request in the pack interface.
nm_session_t p_session
session used for the connexion.
struct nm_datav_s datav
vector of regular data
nm_gate_t gate
Source or destination gate.
nm_sr_request_t req
sendrecv request
struct nm_datav_s express
vector of data in expresss mode
internal defintion of the sendrecv request