Class template bounded_fifo_queue
boost::log::sinks::bounded_fifo_queue — Bounded FIFO log record queueing strategy.
Synopsis
Description
Класс<bounded_fifo_queue
>предназначен для использования с фронтендом<asynchronous_sink
>в качестве стратегии постановки в очередь.
Эта стратегия описывает логику очередей записей журнала. Очередь имеет ограниченную емкость, при достижении которой операция очереди будет ссылаться на стратегию обработки переполнения, указанную в шаблонном параметре<OverflowStrategyT
>для обработки ситуации. Библиотека предоставляет стратегии обработки переполнения для большинства распространенных случаев:<drop_on_overflow
>будет молча отбрасывать запись журнала, а<block_on_overflow
>поставит очередь, чтобы подождать, пока в очереди не останется места.
Очередь записи журнала не накладывает никакого заказа на очерченные элементы, кроме порядка, в котором они стоят в очереди.
bounded_fifo_queue
public
construct/copy/destruct
- <
bounded_fifo_queue();
>Конструктор по умолчанию.
- <
template<typenameArgsT>explicitbounded_fifo_queue(ArgsTconst&);
>Начало строительства.
bounded_fifo_queue
protected member functions
- <
voidenqueue(record_viewconst&rec);
>Запись очередей в очередь.
- <
booltry_enqueue(record_viewconst&rec);
>Попытки записать регистрационную запись в очередь.
- <
booltry_dequeue_ready(record_view&rec);
>Попытки очередей записи журнала, готовой к обработке из очереди, не блокируют, если очередь пуста.
- <
booltry_dequeue(record_view&rec);
>Попытки очередей записи журнала из очереди, не блокирует, если очередь пуста.
- <
booldequeue_ready(record_view&rec);
>Запись очередей из очереди, блоки, если очередь пуста.
- <
voidinterrupt_dequeue();
>Пробуждает нить, возможно, заблокированную в<dequeue
>методе.