Event Channel Operations
Template: struct rdma_event_channel * rdma_create_event_channel (void)
void no arguments
A pointer to the created event channel, or NULL if the request fails. On failure, errno will be set to indicate the failure reason.
Opens an event channel used to report communication events. Asynchronous events are reported to users through event channels.
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_ids, users may find it useful to direct events for different cm_ids 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, rdma_get_cm_event, rdma_destroy_event_channel
Template: void rdma_destroy_event_channel (struct rdma_event_channel *channel)
channel The communication channel to destroy.
Description: Close an event communication channel. Release all resources associated with an event channel and closes the associated file descriptor.
All rdma_cm_id's associated with the event channel must be destroyed, and all returned events must be acked before calling this function.
See Also: rdma_create_event_channel, rdma_get_cm_event, rdma_ack_cm_event