QuantumLibrary
|
Interface to a task queue. For internal use only. More...
#include <quantum_iqueue.h>
Public Types | |
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 | |
virtual void | pinToCore (int coreId)=0 |
virtual void | run ()=0 |
virtual void | enqueue (ITask::Ptr task)=0 |
virtual bool | tryEnqueue (ITask::Ptr task)=0 |
virtual ITask::Ptr | dequeue (std::atomic_bool &hint)=0 |
virtual ITask::Ptr | tryDequeue (std::atomic_bool &hint)=0 |
virtual size_t | size () const =0 |
virtual bool | empty () const =0 |
virtual IQueueStatistics & | stats ()=0 |
virtual SpinLock & | getLock ()=0 |
virtual void | signalEmptyCondition (bool value)=0 |
virtual bool | isIdle () const =0 |
![]() | |
virtual | ~ITerminate ()=default |
Virtual destructor. This function is explicitly left empty. More... | |
virtual void | terminate ()=0 |
Terminates the object. More... | |
Interface to a task queue. For internal use only.
using Bloomberg::quantum::IQueue::Ptr = std::shared_ptr<IQueue> |
|
strong |
|
strong |
|
pure virtual |
Implemented in Bloomberg::quantum::TaskQueue, and Bloomberg::quantum::IoQueue.
|
pure virtual |
Implemented in Bloomberg::quantum::TaskQueue, and Bloomberg::quantum::IoQueue.
|
pure virtual |
Implemented in Bloomberg::quantum::TaskQueue, and Bloomberg::quantum::IoQueue.
|
pure virtual |
Implemented in Bloomberg::quantum::TaskQueue, and Bloomberg::quantum::IoQueue.
|
pure virtual |
Implemented in Bloomberg::quantum::TaskQueue, and Bloomberg::quantum::IoQueue.
|
pure virtual |
Implemented in Bloomberg::quantum::TaskQueue, and Bloomberg::quantum::IoQueue.
|
pure virtual |
Implemented in Bloomberg::quantum::TaskQueue, and Bloomberg::quantum::IoQueue.
|
pure virtual |
Implemented in Bloomberg::quantum::TaskQueue, and Bloomberg::quantum::IoQueue.
|
pure virtual |
Implemented in Bloomberg::quantum::TaskQueue, and Bloomberg::quantum::IoQueue.
|
pure virtual |
Implemented in Bloomberg::quantum::TaskQueue, and Bloomberg::quantum::IoQueue.
|
pure virtual |
Implemented in Bloomberg::quantum::TaskQueue, and Bloomberg::quantum::IoQueue.
|
pure virtual |
Implemented in Bloomberg::quantum::TaskQueue, and Bloomberg::quantum::IoQueue.