|
QuantumLibrary
|
Thread queue for running coroutines. More...
#include <quantum_task_queue.h>
Public Types | |
| using | TaskList = std::list< Task::Ptr, QueueListAllocator > |
| using | TaskListIter = TaskList::iterator |
Public Types inherited from Bloomberg::quantum::IQueue | |
| enum | QueueType : int { QueueType::Coro, QueueType::IO, QueueType::All } |
| enum | QueueId : int { QueueId::Any = -1, QueueId::Same = -2, QueueId::All = -3 } |
| using | Ptr = std::shared_ptr< IQueue > |
Public Member Functions | |
| TaskQueue () | |
| TaskQueue (const Configuration &config) | |
| TaskQueue (const TaskQueue &other) | |
| TaskQueue (TaskQueue &&other)=default | |
| ~TaskQueue () | |
| void | pinToCore (int coreId) final |
| void | run () final |
| void | enqueue (ITask::Ptr task) final |
| bool | tryEnqueue (ITask::Ptr task) final |
| ITask::Ptr | dequeue (std::atomic_bool &hint) final |
| ITask::Ptr | tryDequeue (std::atomic_bool &hint) final |
| size_t | size () const final |
| bool | empty () const final |
| void | terminate () final |
| Terminates the object. More... | |
| IQueueStatistics & | stats () final |
| SpinLock & | getLock () final |
| void | signalEmptyCondition (bool value) final |
| bool | isIdle () const final |
Public Member Functions inherited from Bloomberg::quantum::ITerminate | |
| virtual | ~ITerminate ()=default |
| Virtual destructor. This function is explicitly left empty. More... | |
Thread queue for running coroutines.
| using Bloomberg::quantum::TaskQueue::TaskList = std::list<Task::Ptr, QueueListAllocator> |
| using Bloomberg::quantum::TaskQueue::TaskListIter = TaskList::iterator |
|
inline |
|
inlineexplicit |
|
inline |
|
default |
|
inline |
|
inlinefinalvirtual |
Implements Bloomberg::quantum::IQueue.
|
inlinefinalvirtual |
Implements Bloomberg::quantum::IQueue.
|
inlinefinalvirtual |
Implements Bloomberg::quantum::IQueue.
|
inlinefinalvirtual |
Implements Bloomberg::quantum::IQueue.
|
inlinefinalvirtual |
Implements Bloomberg::quantum::IQueue.
|
inlinefinalvirtual |
Implements Bloomberg::quantum::IQueue.
|
inlinefinalvirtual |
Implements Bloomberg::quantum::IQueue.
|
inlinefinalvirtual |
Implements Bloomberg::quantum::IQueue.
|
inlinefinalvirtual |
Implements Bloomberg::quantum::IQueue.
|
inlinefinalvirtual |
Implements Bloomberg::quantum::IQueue.
|
inlinefinalvirtual |
Terminates the object.
Implements Bloomberg::quantum::ITerminate.
|
inlinefinalvirtual |
Implements Bloomberg::quantum::IQueue.
|
inlinefinalvirtual |
Implements Bloomberg::quantum::IQueue.