rdma_create_event_channel — Open a channel used to report communication events.

Synopsis

#include <rdma/rdma_cma.h>

struct rdma_event_channel * rdma_create_event_channel (void);

Arguments

void

no arguments

Description

Asynchronous events are reported to users through event channels.

Return Value

Returns a pointer to the created event channel, or NULL if the request fails.  On failure, errno will be set to indicate the failure reason.

Notes

Event channels are used to direct all events on an rdma_cm_id.  For many clients, a single event channel may be sufficient, however, when managing a large number of connections or cm_id's, users may find it useful to direct events for different cm_id's to different channels for processing.

All created event channels must be destroyed by calling rdma_destroy_event_channel.  Users should call rdma_get_cm_event to retrieve events on an event channel.

Each event channel is mapped to a file descriptor.  The associated file descriptor can be used and manipulated like any other fd to change its behavior.  Users may make the fd non-blocking, poll or select the fd, etc.

See Also

rdma_cm(7), rdma_get_cm_event(3), rdma_destroy_event_channel(3)

Referenced By

rdma_cm(7), rdma_create_ep(3), rdma_create_id(3), rdma_destroy_event_channel(3), rdma_get_cm_event(3), rdma_migrate_id(3).

2007-05-15 Librdmacm Programmer's Manual