libhomegear-base  0.7
Base library for Homegear and Homegear family modules.
BaseLib::ITimedQueue Class Referenceabstract

#include <ITimedQueue.h>

Inheritance diagram for BaseLib::ITimedQueue:
BaseLib::IQueueBase

Public Member Functions

 ITimedQueue (SharedObjects *baseLib, uint32_t queueCount)
 
virtual ~ITimedQueue ()
 
void startQueue (int32_t index, int32_t threadPriority, int32_t threadPolicy)
 
void stopQueue (int32_t index)
 
bool enqueue (int32_t index, std::shared_ptr< ITimedQueueEntry > &entry, int64_t &id)
 
void removeQueueEntry (int32_t index, int64_t id)
 
virtual void processQueueEntry (int32_t index, int64_t id, std::shared_ptr< ITimedQueueEntry > &entry)=0
 
- Public Member Functions inherited from BaseLib::IQueueBase
 IQueueBase (SharedObjects *baseLib, uint32_t queueCount)
 
virtual ~IQueueBase ()
 
void printQueueFullError (BaseLib::Output &out, const std::string &message)
 Prints a rate limited (1 output per 10 seconds) error message and keeps count of error messages. More...
 

Additional Inherited Members

- Protected Attributes inherited from BaseLib::IQueueBase
SharedObjects_bl = nullptr
 
int32_t _queueCount = 2
 
std::unique_ptr< std::atomic_bool[]> _stopProcessingThread
 
std::atomic< uint32_t > _droppedEntries {0}
 
std::atomic< int64_t > _lastQueueFullError {0}
 

Constructor & Destructor Documentation

§ ITimedQueue()

BaseLib::ITimedQueue::ITimedQueue ( SharedObjects baseLib,
uint32_t  queueCount 
)

§ ~ITimedQueue()

BaseLib::ITimedQueue::~ITimedQueue ( )
virtual

Member Function Documentation

§ enqueue()

bool BaseLib::ITimedQueue::enqueue ( int32_t  index,
std::shared_ptr< ITimedQueueEntry > &  entry,
int64_t &  id 
)

§ processQueueEntry()

virtual void BaseLib::ITimedQueue::processQueueEntry ( int32_t  index,
int64_t  id,
std::shared_ptr< ITimedQueueEntry > &  entry 
)
pure virtual

§ removeQueueEntry()

void BaseLib::ITimedQueue::removeQueueEntry ( int32_t  index,
int64_t  id 
)

§ startQueue()

void BaseLib::ITimedQueue::startQueue ( int32_t  index,
int32_t  threadPriority,
int32_t  threadPolicy 
)

§ stopQueue()

void BaseLib::ITimedQueue::stopQueue ( int32_t  index)

The documentation for this class was generated from the following files: