Карта сайта Kansoftware
НОВОСТИУСЛУГИРЕШЕНИЯКОНТАКТЫ
Разработка программного обеспечения

Class template unbounded_ordering_queue

Boost , Chapter 1. Boost.Log v2 , Sinks

Boost C++ Libraries

...one of the most highly regarded and expertly designed C++ library projects in the world. Herb Sutter and Andrei Alexandrescu, C++ Coding Standards

PrevUpHomeNext

Class template unbounded_ordering_queue

boost::log::sinks::unbounded_ordering_queue — Unbounded ordering log record queueing strategy.

Synopsis

// In header: <boost/log/sinks/unbounded_ordering_queue.hpp>
template<typename OrderT> 
class unbounded_ordering_queue {
public:
  // construct/copy/destruct
  template<typename ArgsT> explicit unbounded_ordering_queue(ArgsT const &);
  // public member functions
  posix_time::time_duration get_ordering_window() const;
  // public static functions
  static posix_time::time_duration get_default_ordering_window();
  // protected member functions
  void enqueue(record_view const &);
  bool try_enqueue(record_view const &);
  bool try_dequeue_ready(record_view &);
  bool try_dequeue(record_view &);
  bool dequeue_ready(record_view &);
  void interrupt_dequeue();
  // private member functions
  void enqueue_unlocked(record_view const &);
};

Description

Класс<unbounded_ordering_queue>предназначен для использования с фронтендом<asynchronous_sink>в качестве стратегии постановки в очередь.

Эта стратегия обеспечивает следующие свойства механизма очередей записей:

  • Очередь не имеет ограничений по размеру.

  • Очередь имеет фиксированное окно задержки. Это означает, что каждая запись журнала, помещенная в очередь, как правило, не будет очерчена в течение определенного периода времени.

  • Очередь выполняет стабильный порядок записи в окне задержки. Предикат упорядочения может быть указан в параметре шаблона<OrderT>.

Поскольку эта очередь не имеет ограничений по размеру, она может расти бесконтрольно, если опускание бэкэндов не достаточно быстро. Когда это проблема, рекомендуется использовать одну из ограниченных стратегий.

unbounded_ordering_queue public construct/copy/destruct

  1. <
    template<typenameArgsT>explicitunbounded_ordering_queue(ArgsTconst&args);
    >Начало строительства.

unbounded_ordering_queue public member functions

  1. <
    posix_time::time_durationget_ordering_window()const;
    >

    Размер окна заказа возврата, указанный при инициализации

unbounded_ordering_queue public static functions

  1. <
    staticposix_time::time_durationget_default_ordering_window();
    >

    Возвращает размер окна по умолчанию. Размер окна по умолчанию специфичен для механизма планирования потоков операционной системы.

unbounded_ordering_queue protected member functions

  1. <
    voidenqueue(record_viewconst&rec);
    >Запись очередей в очередь.
  2. <
    booltry_enqueue(record_viewconst&rec);
    >Попытки записать запись в очередь.
  3. <
    booltry_dequeue_ready(record_view&rec);
    >Попытки очередей записи журнала, готовой к обработке из очереди, не блокируются, если никакие записи журнала не готовы к обработке.
  4. <
    booltry_dequeue(record_view&rec);
    >Попытки очередей записи журнала из очереди, не блокируют.
  5. <
    booldequeue_ready(record_view&rec);
    >Очередь записи журнала из очереди, блоки, если записи журнала не готовы к обработке.
  6. <
    voidinterrupt_dequeue();
    >Пробуждает нить, возможно, заблокированную в<dequeue>методе.

unbounded_ordering_queue private member functions

  1. <
    voidenqueue_unlocked(record_viewconst&rec);
    >Завершает запись.

PrevUpHomeNext

Статья Class template unbounded_ordering_queue раздела Chapter 1. Boost.Log v2 Sinks может быть полезна для разработчиков на c++ и boost.




Материалы статей собраны из открытых источников, владелец сайта не претендует на авторство. Там где авторство установить не удалось, материал подаётся без имени автора. В случае если Вы считаете, что Ваши права нарушены, пожалуйста, свяжитесь с владельцем сайта.



:: Главная :: Sinks ::


реклама


©KANSoftWare (разработка программного обеспечения, создание программ, создание интерактивных сайтов), 2007
Top.Mail.Ru

Время компиляции файла: 2024-08-30 11:47:00
2025-05-19 20:58:22/0.0067069530487061/0