rdma_post_recvv
Posts a work request to the send queue for RDMA read operation.
Syntax
Description
Posts a work request to the
send queue of the queue pair that is associated with the rdma_cm_id
identifier.
The contents of the remote memory region is read into the local data
buffer.
Notes: You must make sure that a receive buffer
is posted. The receive buffer must be large enough to contain all
the sent data before the peer posts the corresponding send message.
You must register the message buffer before it is posted by using
the mr
parameter by specifying the registration.
The buffer must be registered until the receive operation is completed.
The messages can be posted to an rdma_cm_id
identifier
after a queue pair is associated with the message. A queue pair is
bound to an rdma_cm_id
identifier after calling therdma_create_ep
operation
or rdma_create_qp
operation, if the rdma_cm_id
identifier
is allocated by using the rdma_create_id
identifier.
The user-defined context that is associated with the receive request
is returned by using the work completion wr_id
identifier,
the work request identifier, and the work request identifier field.
Parameters
Item | Description |
---|---|
context | Specifies the user-defined context that is associated with the request. |
id | Specifies a reference to a communication identifier where the request is posted. |
nsge | Specifies the number of scatter-gather array entries that are present. |
sgl | Specifies a scatter-gather list of the destination buffers that is associated with the read operation. |
Return Values
Returns 0 on success, or -1 on error. If an error occurs, the errno is set to indicate the reason for failure.