Scroll to navigation

rpma_conn_req_connect(3) RPMA Programmer's Manual rpma_conn_req_connect(3)


rpma_conn_req_connect - initiate processing the connection request


#include <librpma.h>
struct rpma_conn_req;
struct rpma_conn_private_data;
struct rpma_conn;
int rpma_conn_req_connect(struct rpma_conn_req **req_ptr,
const struct rpma_conn_private_data *pdata, struct rpma_conn **conn_ptr);


rpma_conn_req_connect() initiates processing the connection requests both incoming and outgoing. The end of processing is signalled by the RPMA_CONN_ESTABLISHED event via rpma_conn_next_event().


The rpma_conn_req_connect() function returns 0 on success or a negative error code on failure. On success, the newly created connection object is stored in *conn_ptr whereas *req_ptr is consumed and set to NULL. On failure, rpma_conn_req_connect() does not set *conn_ptr whereas *req_ptr is consumed and set to NULL.


rpma_conn_req_connect() can fail with the following errors:

  • RPMA_E_INVAL - req_ptr, *req_ptr or conn_ptr is NULL
  • RPMA_E_INVAL - pdata is not NULL whereas pdata->len == 0
  • RPMA_E_NOMEM - out of memory
  • RPMA_E_PROVIDER - initiating a connection request failed (active side only)
  • RPMA_E_PROVIDER - accepting the connection request failed (passive side only)
  • RPMA_E_PROVIDER - freeing a communication event failed (passive side only)


rpma_conn_apply_remote_peer_cfg(3), rpma_conn_delete(3), rpma_conn_disconnect(3), rpma_conn_get_cq(3), rpma_conn_get_event_fd(3), rpma_conn_get_private_data(3), rpma_conn_get_rcq(3), rpma_conn_next_event(3), rpma_conn_req_new(3), rpma_ep_next_conn_req(3), rpma_flush(3), rpma_read(3), rpma_recv(3), rpma_send(3), rpma_write(3), rpma_atomic_write(3), librpma(7) and

29 May 2023 RPMA