QuantumLibrary
|
Thread queue for executing IO tasks. More...
#include <quantum_io_queue.h>
Public Types | |
using | TaskList = std::list< IoTask::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 | |
IoQueue () | |
IoQueue (const Configuration &config, std::vector< IoQueue > *sharedIoQueues) | |
IoQueue (const IoQueue &other) | |
IoQueue (IoQueue &&other)=default | |
~IoQueue () | |
void | terminate () final |
Terminates the object. More... | |
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 |
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 executing IO tasks.
using Bloomberg::quantum::IoQueue::TaskList = std::list<IoTask::Ptr, QueueListAllocator> |
using Bloomberg::quantum::IoQueue::TaskListIter = TaskList::iterator |
|
inline |
|
inline |
Bloomberg::quantum::IoQueue::IoQueue | ( | const IoQueue & | other | ) |
|
default |
Bloomberg::quantum::IoQueue::~IoQueue | ( | ) |
|
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.