Class IBVCompletionQueue

Class Documentation

class IBVCompletionQueue

Infiniband Verb Completion Queue.

Public Functions

IBVCompletionQueue() = default

Construct a new IBVCompletionQueue object.

IBVCompletionQueue(RDMACommunicationManager *cm, int n_slots)

Construct a new IBVCompletionQueue object with the specified number of slots.

Parameters
  • cmRDMACommunicationManager from which to acquire the struct ibv_context

  • n_slots – number of slots to configure in the completion queue

~IBVCompletionQueue()

Destroy the IBVCompletionQueue object.

int poll(int num_entries, ibv_wc *wc)

polls the completion queue for work completions and returns the first num_entries in the array wc.

Parameters
  • num_entries – maximum number of entries to return

  • wc – pointer to an array of ibv_wc structs

Returns

int number of work completions returned

inline ibv_cq *get() const

Return a pointer to the ibv_cq struct.

Returns

ibv_cq*