|
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 |
Public Member Functions inherited from Bloomberg::quantum::ITerminate | |
| 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.