NewMadeleine

Documentation

Target-side completion for onesided.

Explicitely wait for one-sided operation completions on target side. More...

Collaboration diagram for Target-side completion for onesided.:

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...
 

Detailed Description

Explicitely wait for one-sided operation completions on target side.

Additionnal data may be attached to the completion request.

Typedef Documentation

◆ nm_onesided_target_request_t

request type to receive target-side completions

Definition at line 147 of file nm_onesided_interface.h.

Function Documentation

◆ nm_onesided_iget_with_target()

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

Examples
nm_onesided_simple.c.

◆ nm_onesided_iput_with_target()

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.

Examples
nm_onesided_simple.c.

◆ nm_onesided_target_get_addr()

uintptr_t nm_onesided_target_get_addr ( nm_onesided_target_request_t p_req)

get the address of a request

◆ nm_onesided_target_get_size()

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_onesided_target_get_source()

nm_gate_t nm_onesided_target_get_source ( nm_onesided_target_request_t p_req)

get the source of a request

◆ nm_onesided_target_irecv()

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

Examples
nm_onesided_simple.c.

◆ nm_onesided_target_wait()

void nm_onesided_target_wait ( nm_onesided_target_request_t p_req)

wait completion of a request on target side

Examples
nm_onesided_simple.c.