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 |
![]() | |
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 |
![]() | |
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.