CoreFlow 1.0.0
A modern orchestration and execution runtime
|
Execution queue implementation. More...
#include <execution_queue.hpp>
Public Member Functions | |
bool | enqueuePending (const T &item) |
Enqueue an item into the "pending" queue. | |
bool | dequeuePending (T &item) |
Dequeue an item from the "pending" queue. | |
bool | movePendingToReady () |
Move an item from the "pending" queue to the "ready" queue. | |
bool | enqueueReady (const T &item) |
Enqueue an item into the "ready" queue. | |
bool | dequeueReady (T &item) |
Dequeue an item from the "ready" queue for processing. | |
bool | peekReady (T &item) const |
Peek at the item at the front of the "ready" queue without removing it. | |
bool | enqueueDone (const T &item) |
Enqueue an item into the "done" queue after processing. | |
bool | dequeueDone (T &item) |
Dequeue an item from the "done" queue. | |
void | waitForDoneRef () |
Block until at least one item is available in the "done" queue. | |
bool | moveReadyToDone () |
Move an item from the "ready" queue to the "done" queue. | |
bool | isPendingEmpty () const |
Check if the "pending" queue is empty. | |
bool | isReadyEmpty () const |
Check if the "ready" queue is empty. | |
bool | isDoneEmpty () const |
Check if the "done" queue is empty. | |
std::size_t | pendingQueueSize () const |
Get the size of the "pending" queue. | |
std::size_t | readyQueueSize () const |
Get the size of the "ready" queue. | |
std::size_t | doneQueueSize () const |
Get the size of the "done" queue. | |
Execution queue implementation.
T | queue type |
MaxDepth | depth of queue |
|
inline |
Dequeue an item from the "done" queue.
item | Reference to store the dequeued item |
|
inline |
Dequeue an item from the "pending" queue.
item | Reference to store the dequeued item |
|
inline |
Dequeue an item from the "ready" queue for processing.
item | Reference to store the dequeued item |
|
inline |
Get the size of the "done" queue.
|
inline |
Enqueue an item into the "done" queue after processing.
item | The item to enqueue |
|
inline |
Enqueue an item into the "pending" queue.
item | The item to enqueue |
|
inline |
Enqueue an item into the "ready" queue.
item | The item to enqueue |
|
inline |
Check if the "done" queue is empty.
|
inline |
Check if the "pending" queue is empty.
|
inline |
Check if the "ready" queue is empty.
|
inline |
Move an item from the "pending" queue to the "ready" queue.
|
inline |
Move an item from the "ready" queue to the "done" queue.
|
inline |
Peek at the item at the front of the "ready" queue without removing it.
item | Reference to store the peeked item |
|
inline |
Get the size of the "pending" queue.
|
inline |
Get the size of the "ready" queue.
|
inline |
Block until at least one item is available in the "done" queue.