rdma_get_request

Retrieves the connection request event that is pending.

Syntax

#include <rdma/rdma_cma.h>
int rdma_get_request (struct rdma_cm_id *listen, struct rdma_cm_id **id);   

Description

Retrieves a connection request event that is in pending state. If no requests are in a pending state, the call is blocked until an event is received.

Notes: The rdma_get_request call must be used on the listening rdma_cm_id communication identifiers that are operating synchronously. You receive a new rdma_cm_id identifier that represents the connection request on successful completion of the call. The new rdma_cm_id identifier is related to event information that is associated with the request until one of the following requisites is satisfied:
  • The rdma_reject and rdma_accept operations are called.
  • The rdma_destroy_id identifier is called on the newly created identifier.
If queue pair (QP) attributes are associated with the listening endpoint, the rdma_cm_id identifier that is returned is related an allocated to queue pair (QP).

Parameters

Item Description
id Specifies the communication identifier that is associated to the new connection.
listen Specifies the communication identifier that is listening.

Return Values

Returns 0 on success, or -1 on error. If an error occurs, the errno is set to indicate the reason for failure.