DACS_ERR_T dacs_put ( dacs_remote_mem_t dst_remote_mem, uint64_t dst_remote_mem_offset, void *src_addr, uint64_t size, dacs_wid_t wid, DACS_ORDER_ATTR_T order_attr, DACS_BYTE_SWAP_T swap )
Call parameters | |
dst_remote_mem | The remote memory handle of the destination buffer. |
dst_remote_mem_offset | The offset into the remote buffer where the put is to be performed. |
*src_addr | A pointer to the source memory buffer. |
size | The size of the transfer. |
wid | The communications wait identifier. |
order_attr | An ordering attribute. Possible values are:
|
swap | The little-endian or big-endian byte-swapping flag.Possible values are:
|
The dacs_put service initiates data transfer from the caller memory, specified by src_addr, to the target memory, specified by dst_remote_mem and remote_mem_offset. This operation is non-blocking (the call initiates the transfer, but the transfer may continue after the call returns). To ensure that the transfer has completed on the DE, so that the local buffer can be reused or changed, you should issue a call to dacs_wait() or dacs_test() with the same wait identifier.
The target remote memory region must have been previously accepted by the caller with a call to dacs_remote_mem_accept().