Explicitely wait for one-sided operation completions on target side. More...
Typedefs | |
typedef struct nm_onesided_target_request_s | nm_onesided_target_request_t |
request type to receive target-side completions More... | |
Functions | |
void | nm_onesided_iput_with_target (nm_onesided_t p_onesided, struct nm_gate_s *p_gate, void *p_ptr, nm_len_t len, uintptr_t dest_addr, void *p_target_ptr, nm_len_t target_len, nm_onesided_request_t *p_req) |
send a put request with target-side completion. More... | |
void | nm_onesided_iget_with_target (nm_onesided_t p_onesided, struct nm_gate_s *p_gate, void *p_ptr, nm_len_t len, uintptr_t dest_addr, void *p_target_ptr, nm_len_t target_len, nm_onesided_request_t *p_req) |
send a get request with target-side completion More... | |
void | nm_onesided_target_irecv (nm_onesided_t p_onesided, nm_gate_t p_gate, void *p_ptr, nm_len_t len, nm_onesided_target_request_t *p_req) |
posts a recv request for target-side completion More... | |
void | nm_onesided_target_wait (nm_onesided_target_request_t *p_req) |
wait completion of a request on target side More... | |
nm_gate_t | nm_onesided_target_get_source (nm_onesided_target_request_t *p_req) |
get the source of a request More... | |
uintptr_t | nm_onesided_target_get_addr (nm_onesided_target_request_t *p_req) |
get the address of a request More... | |
nm_len_t | nm_onesided_target_get_size (nm_onesided_target_request_t *p_req) |
get the size of a request (size of the onesided operation, not the target-side completion data) More... | |
Explicitely wait for one-sided operation completions on target side.
Additionnal data may be attached to the completion request.
typedef struct nm_onesided_target_request_s nm_onesided_target_request_t |
request type to receive target-side completions
Definition at line 147 of file nm_onesided_interface.h.
void nm_onesided_iget_with_target | ( | nm_onesided_t | p_onesided, |
struct nm_gate_s * | p_gate, | ||
void * | p_ptr, | ||
nm_len_t | len, | ||
uintptr_t | dest_addr, | ||
void * | p_target_ptr, | ||
nm_len_t | target_len, | ||
nm_onesided_request_t * | p_req | ||
) |
send a get request with target-side completion
void nm_onesided_iput_with_target | ( | nm_onesided_t | p_onesided, |
struct nm_gate_s * | p_gate, | ||
void * | p_ptr, | ||
nm_len_t | len, | ||
uintptr_t | dest_addr, | ||
void * | p_target_ptr, | ||
nm_len_t | target_len, | ||
nm_onesided_request_t * | p_req | ||
) |
send a put request with target-side completion.
p_ptr & len is data for the onesided operation p_target_ptr & target_len will be delivered to the target-side completion. p_target_ptr may be NULL to only notify completion without attached data. maximum for target_len is 64 bytes.
uintptr_t nm_onesided_target_get_addr | ( | nm_onesided_target_request_t * | p_req | ) |
get the address of a request
nm_len_t nm_onesided_target_get_size | ( | nm_onesided_target_request_t * | p_req | ) |
get the size of a request (size of the onesided operation, not the target-side completion data)
nm_gate_t nm_onesided_target_get_source | ( | nm_onesided_target_request_t * | p_req | ) |
get the source of a request
void nm_onesided_target_irecv | ( | nm_onesided_t | p_onesided, |
nm_gate_t | p_gate, | ||
void * | p_ptr, | ||
nm_len_t | len, | ||
nm_onesided_target_request_t * | p_req | ||
) |
posts a recv request for target-side completion
void nm_onesided_target_wait | ( | nm_onesided_target_request_t * | p_req | ) |
wait completion of a request on target side