Go to the source code of this file.
Data Structures | |
struct | nm_header_global_s |
global header at the beginning of pw More... | |
struct | nm_header_pkt_data_s |
struct | nm_header_pkt_data_chunk_s |
sub-header for pkt_data chunks More... | |
struct | nm_header_data_s |
struct | nm_header_short_data_s |
header for very short data; single chunk assumed (chunk_offset=0, chunk_len=len, FLAG_LASTCHUNK) More... | |
struct | nm_header_msg_s |
header for msg matching information only, contains no data; for cases where early information is needed (partitioned) More... | |
struct | nm_header_ctrl_rdv_s |
struct | nm_header_ctrl_rtr_s |
struct | nm_header_ctrl_ack_s |
struct | nm_header_common_s |
base header that matches all data/ctrl headers first fields (except header_strat) More... | |
union | nm_header_ctrl_generic_s |
a unified control header type More... | |
union | nm_header_data_generic_s |
a unified data header type More... | |
union | nm_header_generic_s |
a unified header for all types (ctrl/data) More... | |
struct | nm_header_strat_s |
header for strategy private packets More... | |
struct | nm_header_debug_s |
header for debug messages More... | |
struct | nm_ctrl_chunk_s |
a chunk of control data More... | |
Macros | |
#define | NM_PROTO_ID_MASK 0x0F |
mask for proto ID part More... | |
#define | NM_PROTO_FLAG_MASK 0xF0 |
mask for proto flags More... | |
#define | NM_PROTO_SMALL_DATA 0x01 |
a chunk of data on small trk More... | |
#define | NM_PROTO_SHORT_DATA 0x02 |
a simplified (short header) chunk of data More... | |
#define | NM_PROTO_PKT_DATA 0x03 |
new optimized packet format More... | |
#define | NM_PROTO_RDV 0x04 |
rendez-vous request More... | |
#define | NM_PROTO_RTR 0x05 |
ready-to-receive, replay to rdv More... | |
#define | NM_PROTO_ACK 0x06 |
an ack for a ssend (sent when receiving first chunk) More... | |
#define | NM_PROTO_STRAT 0x07 |
ctrl chunk for strategy (don't decode in nm core) More... | |
#define | NM_PROTO_MSG 0x08 |
msg matching informations, contains no data chunk More... | |
#define | NM_PROTO_DEBUG 0x0F |
internal debug msg More... | |
#define | NM_PROTO_FLAG_LASTCHUNK 0x10 |
last chunk of data for the given pack More... | |
#define | NM_PROTO_FLAG_ALIGNED 0x20 |
data is 32 bit-aligned in packet More... | |
#define | NM_PROTO_FLAG_ACKREQ 0x40 |
data sent as synchronous send- please send an ack on first chunk More... | |
#define | NM_HEADER_PKT_DATA_SIZE sizeof(struct nm_header_pkt_data_s) |
#define | NM_HEADER_DATA_SIZE nm_aligned(sizeof(struct nm_header_data_s)) |
#define | NM_HEADER_SHORT_DATA_SIZE nm_aligned(sizeof(struct nm_header_short_data_s)) |
#define | NM_HEADER_CTRL_SIZE(P_CTRL) nm_header_ctrl_size(P_CTRL) |
Typedefs | |
typedef union nm_header_ctrl_generic_s | nm_header_ctrl_generic_t |
typedef union nm_header_data_generic_s | nm_header_data_generic_t |
Variables | |
uint16_t | v0len |
size of v0 actually used ( == offset value to reach v[1] ) More... | |
nm_proto_t | proto_id |
proto ID- should be NM_PROTO_PKT_DATA More... | |
nm_core_tag_t | tag_id |
tag for the message More... | |
nm_seq_t | seq |
sequence number More... | |
nm_len_t | data_len |
length of data enclosed More... | |
nm_len_t | chunk_offset |
offset of the enclosed chunk More... | |
uint16_t | hlen |
length in header (header + data in header) More... | |
uint16_t | len |
chunk len More... | |
uint16_t | skip |
skip value for iovec More... | |
nm_len_t | msg_len |
length of the full message More... | |
nm_len_t | chunk_len |
length of this chunk More... | |
nm_prio_t | priority |
nm_trk_id_t | trk_id |
index of the track relative to the gate More... | |
char | rdv_data [NM_HEADER_RTR_DATA_SIZE] |
union nm_header_ctrl_generic_s | __attribute__ |
uint64_t | req |
a type of debug request; unused for now More... | |
#define NM_HEADER_CTRL_SIZE | ( | P_CTRL | ) | nm_header_ctrl_size(P_CTRL) |
Definition at line 229 of file nm_headers.h.
#define NM_HEADER_DATA_SIZE nm_aligned(sizeof(struct nm_header_data_s)) |
Definition at line 223 of file nm_headers.h.
#define NM_HEADER_PKT_DATA_SIZE sizeof(struct nm_header_pkt_data_s) |
Definition at line 220 of file nm_headers.h.
#define NM_HEADER_SHORT_DATA_SIZE nm_aligned(sizeof(struct nm_header_short_data_s)) |
Definition at line 226 of file nm_headers.h.
#define NM_PROTO_ACK 0x06 |
an ack for a ssend (sent when receiving first chunk)
Definition at line 57 of file nm_headers.h.
#define NM_PROTO_DEBUG 0x0F |
internal debug msg
Definition at line 63 of file nm_headers.h.
#define NM_PROTO_FLAG_ACKREQ 0x40 |
data sent as synchronous send- please send an ack on first chunk
Definition at line 70 of file nm_headers.h.
#define NM_PROTO_FLAG_ALIGNED 0x20 |
data is 32 bit-aligned in packet
Definition at line 68 of file nm_headers.h.
#define NM_PROTO_FLAG_LASTCHUNK 0x10 |
last chunk of data for the given pack
Definition at line 66 of file nm_headers.h.
#define NM_PROTO_FLAG_MASK 0xF0 |
mask for proto flags
Definition at line 44 of file nm_headers.h.
#define NM_PROTO_ID_MASK 0x0F |
mask for proto ID part
Definition at line 42 of file nm_headers.h.
#define NM_PROTO_MSG 0x08 |
msg matching informations, contains no data chunk
Definition at line 61 of file nm_headers.h.
#define NM_PROTO_PKT_DATA 0x03 |
new optimized packet format
Definition at line 51 of file nm_headers.h.
#define NM_PROTO_RDV 0x04 |
rendez-vous request
Definition at line 53 of file nm_headers.h.
#define NM_PROTO_RTR 0x05 |
ready-to-receive, replay to rdv
Definition at line 55 of file nm_headers.h.
#define NM_PROTO_SHORT_DATA 0x02 |
a simplified (short header) chunk of data
Definition at line 49 of file nm_headers.h.
#define NM_PROTO_SMALL_DATA 0x01 |
a chunk of data on small trk
Definition at line 47 of file nm_headers.h.
#define NM_PROTO_STRAT 0x07 |
ctrl chunk for strategy (don't decode in nm core)
Definition at line 59 of file nm_headers.h.
typedef union nm_header_ctrl_generic_s nm_header_ctrl_generic_t |
Definition at line 202 of file nm_headers.h.
typedef union nm_header_data_generic_s nm_header_data_generic_t |
Definition at line 203 of file nm_headers.h.
struct nm_header_global_s __attribute__ | ( | (packed) | ) |
NM_ALLOCATOR_TYPE | ( | nm_ctrl_chunk | , |
struct nm_ctrl_chunk_s | |||
) |
allocator for control chunks
|
inlinestatic |
Definition at line 232 of file nm_headers.h.
References nm_header_ctrl_generic_s::generic, NM_FATAL, NM_PROTO_ACK, NM_PROTO_ID_MASK, NM_PROTO_MSG, NM_PROTO_RDV, NM_PROTO_RTR, and nm_header_common_s::proto_id.
|
inlinestatic |
Definition at line 25 of file nm_headers.h.
References h, NM_TRK_SMALL, nm_pkt_wrap_s::trk_id, nm_pkt_wrap_s::v, and v0len.
|
inlinestatic |
Definition at line 34 of file nm_headers.h.
References nm_pkt_wrap_s::flags, h, NM_PW_BUF_SEND, NM_PW_BUFFER, NM_PW_GLOBAL_HEADER, and nm_pkt_wrap_s::v.
|
inlinestatic |
Definition at line 326 of file nm_headers.h.
References nm_header_ctrl_generic_s::ack, NM_PROTO_ACK, nm_header_ctrl_ack_s::proto_id, seq, nm_header_ctrl_ack_s::seq, tag, and nm_header_ctrl_ack_s::tag_id.
Referenced by nm_core_post_ack().
|
inlinestatic |
Definition at line 266 of file nm_headers.h.
References chunk_offset, nm_header_data_s::chunk_offset, flags, len, nm_header_data_s::len, NM_PROTO_ID_MASK, NM_PROTO_SMALL_DATA, nm_header_data_s::proto_id, seq, nm_header_data_s::seq, skip, nm_header_data_s::skip, tag_id, and nm_header_data_s::tag_id.
|
inlinestatic |
Definition at line 333 of file nm_headers.h.
References NM_PROTO_DEBUG, nm_header_debug_s::proto_id, req, and nm_header_debug_s::req.
|
inlinestatic |
Definition at line 287 of file nm_headers.h.
References nm_header_ctrl_generic_s::msg, msg_len, nm_header_msg_s::msg_len, NM_PROTO_MSG, nm_header_msg_s::proto_id, seq, nm_header_msg_s::seq, tag_id, and nm_header_msg_s::tag_id.
Referenced by nm_core_post_msg().
|
inlinestatic |
Definition at line 254 of file nm_headers.h.
References chunk_offset, nm_header_pkt_data_s::chunk_offset, nm_header_pkt_data_s::data_len, flags, nm_header_pkt_data_s::hlen, len, NM_HEADER_PKT_DATA_SIZE, NM_PROTO_ID_MASK, NM_PROTO_PKT_DATA, nm_header_pkt_data_s::proto_id, seq, nm_header_pkt_data_s::seq, tag_id, and nm_header_pkt_data_s::tag_id.
|
inlinestatic |
Definition at line 295 of file nm_headers.h.
References chunk_len, nm_header_ctrl_rdv_s::chunk_len, chunk_offset, nm_header_ctrl_rdv_s::chunk_offset, nm_req_s::flags, nm_req_s::len, nm_header_ctrl_rdv_s::msg_len, NM_PROTO_FLAG_ACKREQ, NM_PROTO_ID_MASK, NM_PROTO_RDV, NM_REQ_FLAG_PACK_SYNCHRONOUS, nm_req_s::pack, nm_req_s::priority, nm_header_ctrl_rdv_s::priority, nm_header_ctrl_rdv_s::proto_id, nm_header_ctrl_generic_s::rdv, nm_req_s::seq, nm_header_ctrl_rdv_s::seq, nm_req_s::tag, and nm_header_ctrl_rdv_s::tag_id.
|
inlinestatic |
Definition at line 310 of file nm_headers.h.
References chunk_len, nm_header_ctrl_rtr_s::chunk_len, chunk_offset, nm_header_ctrl_rtr_s::chunk_offset, NM_HEADER_RTR_DATA_SIZE, NM_PROTO_RTR, nm_header_ctrl_rtr_s::proto_id, nm_header_ctrl_rtr_s::rdv_data, nm_header_ctrl_generic_s::rtr, seq, nm_header_ctrl_rtr_s::seq, tag, nm_header_ctrl_rtr_s::tag_id, trk_id, and nm_header_ctrl_rtr_s::trk_id.
Referenced by nm_core_post_rtr().
|
inlinestatic |
Definition at line 278 of file nm_headers.h.
References len, nm_header_short_data_s::len, NM_PROTO_FLAG_LASTCHUNK, NM_PROTO_SHORT_DATA, nm_header_short_data_s::proto_id, seq, nm_header_short_data_s::seq, tag_id, and nm_header_short_data_s::tag_id.
PUK_LIST_CREATE_FUNCS | ( | nm_ctrl_chunk | ) |
PUK_LIST_DECLARE_TYPE | ( | nm_ctrl_chunk | ) |
struct nm_ctrl_chunk_s __attribute__ |
nm_len_t chunk_len |
length of this chunk
Definition at line 4 of file nm_headers.h.
Referenced by nm_core_post_rtr(), nm_data_excerpt_build(), nm_header_init_rdv(), nm_header_init_rtr(), nm_req_chunk_init(), and nm_tactic_req_data_max_size().
nm_len_t chunk_offset |
offset of the enclosed chunk
offset of this chunk relative to full message
Definition at line 4 of file nm_headers.h.
Referenced by nm_core_post_rtr(), nm_data_excerpt_build(), nm_header_init_data(), nm_header_init_pkt_data(), nm_header_init_rdv(), nm_header_init_rtr(), and nm_req_chunk_init().
nm_len_t data_len |
length of data enclosed
Definition at line 3 of file nm_headers.h.
uint16_t hlen |
length in header (header + data in header)
Definition at line 5 of file nm_headers.h.
Referenced by nm_core_pack_set_hlen(), nm_rpc_recv_header(), nm_rpc_send(), and nm_sr_send_header().
uint8_t len |
chunk len
Definition at line 0 of file nm_headers.h.
Referenced by _next(), clear_buffer(), control_buffer(), fill_buffer(), nm_data_contiguous_build(), nm_datav_add_chunk(), nm_header_init_data(), nm_header_init_pkt_data(), nm_header_init_short_data(), nm_minidriver_irecv(), nm_minidriver_isend(), nm_minidriver_recv(), nm_minidriver_recv_rdv(), nm_minidriver_rpoll(), nm_minidriver_send(), nm_minidriver_send_rdv(), nm_rpc_irecv_body(), nm_sr_irecv(), nm_sr_irecv_with_ref(), nm_sr_isend(), nm_sr_isend_with_ref(), nm_sr_issend(), nm_sr_recv(), nm_sr_recv_unpack_contiguous(), nm_sr_rsend(), nm_sr_send(), and nm_sr_send_pack_contiguous().
nm_len_t msg_len |
length of the full message
Definition at line 3 of file nm_headers.h.
Referenced by nm_core_post_msg(), and nm_header_init_msg().
nm_prio_t priority |
Definition at line 6 of file nm_headers.h.
Referenced by nm_rpc_req_set_priority(), and nm_sr_send_set_priority().
nm_proto_t proto_id |
proto ID- should be NM_PROTO_PKT_DATA
proto ID- should be NM_PROTO_ACK
proto ID- should be NM_PROTO_RTR
proto ID- should be NM_PROTO_RDV
proto ID- should be NM_PROTO_MSG
proto ID- should be NM_PROTO_SHORT_DATA
proto ID- should be NM_PROTO_SMALL_DATA
Definition at line 0 of file nm_headers.h.
char rdv_data[NM_HEADER_RTR_DATA_SIZE] |
Definition at line 6 of file nm_headers.h.
Referenced by nm_minidriver_recv_rdv(), and nm_minidriver_send_rdv().
uint64_t req |
a type of debug request; unused for now
Definition at line 1 of file nm_headers.h.
Referenced by nm_header_init_debug().
nm_seq_t seq |
sequence number
Definition at line 2 of file nm_headers.h.
Referenced by nm_core_post_ack(), nm_core_post_msg(), nm_core_post_rtr(), nm_header_init_ack(), nm_header_init_data(), nm_header_init_msg(), nm_header_init_pkt_data(), nm_header_init_rtr(), nm_header_init_short_data(), nm_mpi_rma_create_usertag(), nm_mpi_rma_seq_to_tag(), and nm_seq_next().
uint16_t skip |
skip value for iovec
skip offset for data buffer, relative to v0 end (0xFFFF for inline data)
Definition at line 1 of file nm_headers.h.
Referenced by nm_header_init_data().
nm_core_tag_t tag_id |
tag for the message
tag of the acknowledged data
Definition at line 1 of file nm_headers.h.
Referenced by nm_header_init_data(), nm_header_init_msg(), nm_header_init_pkt_data(), and nm_header_init_short_data().
nm_trk_id_t trk_id |
index of the track relative to the gate
Definition at line 3 of file nm_headers.h.
Referenced by nm_core_post_rtr(), nm_header_init_rtr(), and nm_pw_assign().
uint16_t v0len |
size of v0 actually used ( == offset value to reach v[1] )
Definition at line 0 of file nm_headers.h.
Referenced by nm_header_global_finalize().