Class unbounded_fifo_queue
boost::log::sinks::unbounded_fifo_queue — Unbounded FIFO log record queueing strategy.
Synopsis
Description
Unbounded_fifo_queue
Класс предназначен для использования сасинхронным_sink
Фронтенд как стратегия очередей записей журнала.
Эта стратегия реализует простейшую логику буферизации лог-записи между потоками: очередь не имеет ограничений и не накладывает порядка на очерченные элементы, кроме порядка, в котором они стоят в очереди. Из-за этого очередь обеспечивает достойную производительность и масштабируемость, однако, если нисходящие бэкэнды не могут потреблять записи журнала достаточно быстро, очередь может неконтролируемо расти. Когда это проблема, рекомендуется использовать одну из ограниченных стратегий.
unbounded_fifo_queue
public
construct/copy/destruct
unbounded_fifo_queue;
Конструктор по умолчанию.
шаблон<имя типаArgsT>эксплицитноunbounded_fifo_queueArgsTconst&];
Инициирующий конструктор.
unbounded_fifo_queue
protected member functions
voidenqueuerecord_viewconst&rec];
Запись в журнал очередей в очередь.
booltry_enqueuerecord_viewconst&rec;
Попытки записать запись в очередь в очередь.
booltry_dequeue_readyrecord_view&rec;
Попытки очередей записи журнала, готовой к обработке из очереди, не блокируют, если очередь пуста.
booltry_dequeuerecord_view&re];
Попытки очередей записи журнала из очереди, не блокируют, если очередь пуста.
booldequeue_readyrecord_view&re];
Очередей журнал записи из очереди, блоков, если очередь пуста.
voidinterrupt_dequeue;
Пробуждает нить, возможно заблокированную вdequeue
способе.