7#include <infiniband/verbs.h>
9#include "rdmapp/detail/blocking_queue.h"
19 std::vector<std::thread> workers_;
21 void worker_fn(
size_t worker_id);
24 using queue_closed_error = work_queue::queue_closed_error;
25 using callback_fn = std::function<void(
struct ibv_wc
const &wc)>;
26 using callback_ptr = callback_fn *;
59 return new executor::callback_fn(cb);
This class is used to execute callbacks of completion entries.
Definition executor.h:17
void process_wc(struct ibv_wc const &wc)
Process a completion entry.
Definition executor.cc:27
static callback_ptr make_callback(T const &cb)
Make a callback function that will be called when a completion entry is processed....
Definition executor.h:58
void shutdown()
Shutdown the executor.
Definition executor.cc:29
static void destroy_callback(callback_ptr cb)
Destroy a callback function.
Definition executor.cc:31