|
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.