11#ifndef O2_FRAMEWORK_ASYNCQUUE_H_
12#define O2_FRAMEWORK_ASYNCQUUE_H_
57 void*
data[5] = {
nullptr,
nullptr,
nullptr,
nullptr,
nullptr};
63 static_assert(
sizeof(T) <= 5 *
sizeof(
void*),
"User object does not fit user data");
80 static_assert(
sizeof(T) <= 5 *
sizeof(
void*),
"User object does not fit user data");
struct x9_node_internal x9_node
struct x9_inbox_internal x9_inbox
GLsizei const GLfloat * value
typedef void(APIENTRYP PFNGLCULLFACEPROC)(GLenum mode)
Defining PrimaryVertex explicitly as messageable.
static void flushPending(AsyncQueue &queue)
static AsyncTaskId create(AsyncQueue &queue, AsyncTaskSpec spec)
static void run(AsyncQueue &queue, TimesliceId oldestPossibleTimeslice)
static void post(AsyncQueue &queue, AsyncTask const &task)
static void reset(AsyncQueue &queue)
Reset the queue to its initial state.
std::vector< AsyncTaskSpec > prototypes
std::vector< AsyncTask > tasks
An actuatual task to be executed.
void(* callback)(AsyncTask &task, size_t id)
AsyncTask & user(T &&value)
static constexpr uint64_t INVALID