rpma_conn_completion_get - receive a completion of an operation
#include <librpma.h>
struct rpma_conn;
struct rpma_completion;
enum rpma_op {
RPMA_OP_READ,
RPMA_OP_WRITE,
RPMA_OP_FLUSH,
RPMA_OP_SEND,
RPMA_OP_RECV,
};
int rpma_conn_completion_get(struct rpma_conn *conn,
struct rpma_completion *cmpl);
rpma_conn_completion_get() receives the next available completion of an already posted operation. All operations generate completion on error. The operations posted with the **RPMA_F_COMPLETION_ALWAYS** flag also generate a completion on success. The following operations are available:
RPMA_OP_READ - RMA read operation
RPMA_OP_WRITE - RMA write operation
RPMA_OP_FLUSH - RMA flush operation
RPMA_OP_SEND - messaging send operation
RPMA_OP_RECV - messaging receive operation
The rpma_conn_completion_get() function returns 0 on success or a negative error code on failure.
rpma_conn_completion_get() can fail with the following errors:
RPMA_E_INVAL - conn or cmpl is NULL
RPMA_E_NO_COMPLETION - no completions available
RPMA_E_PROVIDER - ibv_poll_cq(3) failed with a provider error
RPMA_E_UNKNOWN - ibv_poll_cq(3) failed but no provider error is available
RPMA_E_NOSUPP - not supported opcode
rpma_conn_get_completion_fd(3), rpma_conn_completion_wait(3), rpma_conn_req_connect(3), rpma_flush(3), rpma_read(3), rpma_recv(3), rpma_send(3), rpma_write(3), rpma_write_atomic(3), librpma(7) and https://pmem.io/rpma/
The contents of this web site and the associated GitHub repositories are BSD-licensed open source.