UniSet  2.6.0
Открытые типы | Открытые члены | Полный список членов класса
Класс uniset::MQMutex

Открытые типы

enum  LostStrategy { lostOldData, lostNewData }

Открытые члены

 MQMutex (size_t qsize=2000)
void push (const VoidMessagePtr &msg)
VoidMessagePtr top () noexcept
size_t size ()
bool empty ()
void setMaxSizeOfMessageQueue (size_t s) noexcept
size_t getMaxSizeOfMessageQueue () const noexcept
void setLostStrategy (LostStrategy s) noexcept
size_t getMaxQueueMessages () const noexcept
size_t getCountOfLostMessages () const noexcept

Подробное описание

Простая "многопоточная" очередь сообщений с использованием std::mutex. Максимальное ограничение на размер очереди сообщений задаётся функцией setMaxSizeOfMessageQueue().

Контроль переполения очереди осуществляется в push Если очередь переполняется, то сообщения ТЕРЯЮТСЯ! При помощи функции setLostStrategy() можно установить стратегию что терять lostNewData - в случае переполнения теряются новые данные (т.е. не будут помещаться в очередь) lostOldData - в случае переполнения очереди, старые данные затираются новыми.

Перечисления

Стратегия при переполнении

Методы

size_t uniset::MQMutex::getCountOfLostMessages ( ) const
inline

количество потерянных сообщений

size_t uniset::MQMutex::getMaxQueueMessages ( ) const
inline

максимальное количество которое было в очереди сообщений

void MQMutex::push ( const VoidMessagePtr &  msg)

поместить сообщение в очередь

VoidMessagePtr MQMutex::top ( )

Извлечь сообщение из очереди

Возвращает
не валидный shatred_ptr(nullptr) если сообщений нет