16#ifndef NM_COLL_PRIVATE_H
17#define NM_COLL_PRIVATE_H
26struct multicast_header_s
34enum nm_multicast_req_type_e
46struct nm_multicast_req_s
54 struct multicast_header_s*ref_header;
60 void*come_from_coop_callback_arg;
61 void (*end_recv_callback)(
void*);
62 void*end_recv_callback_arg;
64 void*normal_recv_recv_data_callback_arg;
65 piom_cond_t*cond_wait_recv;
78 int tree_additionnal_info;
84 struct nm_multicast_req_s*initial_recv;
86 void (*end_send_callback)(
void*);
87 void*end_send_callback_arg;
89 enum nm_multicast_req_type_e type;
94void free_request_nodes_data(
struct nm_multicast_req_s*p_req);
96 nm_len_t body_len,
int tree_step,
int separator_id,
int src_node,
97 struct nm_multicast_req_s*initial_recv, callback_function end_send_callback,
void*arg);
103 callback_function_come_from_coop come_from_coop_callback, callback_function end_recv_callback,
104 callback_function_normal_recv normal_recv_callback,
void*arg);
108# error "cannot use interface coll_dynamic without pioman"
struct nm_core_event_s __attribute__
nm_sr_event_t
events for monitors
nm_tag_t tag
the user-supplied tag
static nm_session_t p_session
PUK_ALLOCATOR_TYPE(nm_sr_req, nm_sr_request_t)
uint64_t nm_tag_t
user tags, 64 bits, contained in indirect hashtable
uint64_t nm_len_t
data length used by nmad
a data descriptor, used to pack/unpack data from app layout to/from contiguous buffers
internal defintion of the sendrecv request
information field for sendrecv events