Класс timer

Блок сообщений timer — это одноцелевой source_block, способный отправлять сообщение цели по истечении указанного периода времени или через определенные интервалы.

template<
   class _Type
>
class timer : public Concurrency::details::_Timer, public source_block<single_link_registry<ITarget<_Type>>>;

Параметры

  • _Type
    Тип полезных данных выводных сообщений этого блока.

Члены

Открытые конструкторы

Имя

Описание

Конструктор timer::timer

Перегружен. Создает блок сообщений timer который, будет отправлять заданное сообщение после указанного интервала.

Деструктор timer::~timer

Уничтожает блок сообщений timer.

Открытые методы

Имя

Описание

Метод timer::pause

Останавливает блок обмена сообщениями timer. Если это повторяющаяся блока обмена сообщениями timer, можно перезапустить его с последующим вызовом start(). Для неповторяющихся таймеров, это имеет тот же эффект, как вызов stop.

Метод timer::start

Начинает блок сообщений timer. Через заданное количество миллисекунд после этого вызова, указанное значение распространяется дальше по ходу процесса как message.

Метод timer::stop

Останавливает блок обмена сообщениями timer.

Защищенные методы

Имя

Описание

Метод timer::accept_message

Принимает сообщение, предложенное этим блоком сообщений timer, передавая владение вызывающему объекту.

Метод timer::consume_message

Потребляет сообщение, ранее предложенное timer зарезервированное целевым объектом, передавая владение вызывающему объекту.

Метод timer::link_target_notification

Обратный вызов, который уведомляет, что новая цель связана с этим блоком сообщений timer.

Метод timer::propagate_to_any_targets

Пытается предложить сообщение, созданное блоком timer, на все связанные целевые объекты.

Метод timer::release_message

Освобождает предыдущее резервирование сообщения. (Переопределяет конструктор source_block::release_message).

Метод timer::reserve_message

Резервирует сообщение, которое было предложено этим блоком сообщений timer. (Переопределяет конструктор source_block::reserve_message).

Метод timer::resume_propagation

Возобновляет распространение после отмены резервирования. (Переопределяет конструктор source_block::resume_propagation).

Заметки

Дополнительные сведения см. в разделе Асинхронные блоки сообщений.

Иерархия наследования

ISource

source_block

_Timer

timer

Требования

Заголовок: agents.h

Пространство имен: Concurrency

См. также

Ссылки

Пространство имен Concurrency