Scroll to navigation

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

NAME

rpma_srq_new - create a new shared RQ object

SYNOPSIS


#include <librpma.h>
struct rpma_peer;
struct rpma_srq_cfg;
struct rpma_srq;
int rpma_srq_new(struct rpma_peer *peer, const struct rpma_srq_cfg *cfg,
struct rpma_srq **srq_ptr);

DESCRIPTION

rpma_srq_new() creates a new shared RQ object including a new shared RQ and a new shared receive CQ. It does not create the shared receive CQ if the size of the receive CQ in cfg equals 0.

RETURN VALUE

The rpma_srq_new() function returns 0 on success or a negative error code on failure. rpma_srq_new() does not set *srq_ptr value on failure. If cfg is NULL, then the default values are used

see rpma_srq_cfg_new(3) for more details.

ERRORS

rpma_srq_new() can fail with the following errors:

  • RPMA_E_INVAL - peer or srq_ptr is NULL
  • RPMA_E_NOMEM - out of memory
  • RPMA_E_PROVIDER - ibv_create_srq(3), ibv_create_comp_channel(3), ibv_create_cq(3) or ibv_req_notify_cq(3) failed

SEE ALSO

rpma_srq_delete(3), rpma_srq_get_rcq(3), librpma(7) and https://pmem.io/rpma/

29 May 2023 RPMA