Класс target_block

Класс target_block является абстрактным базовым классом, который предоставляет основные функции управления ссылками и проверку ошибок для блоков, являющихся только целевыми.

template<
   class _SourceLinkRegistry,
   class _MessageProcessorType = ordered_message_processor<typename _SourceLinkRegistry::type::source_type>
>
class target_block : public ITarget<typename _SourceLinkRegistry::type::source_type>;

Параметры

  • _SourceLinkRegistry
    Реестр ссылок для использования для хранения исходных ссылок.

  • _MessageProcessorType
    Тип процессора для обработки сообщений.

Члены

Открытые определения типов

Имя

Описание

source_iterator

Тип итератора для source_link_manager данного объекта target_block.

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

Имя

Описание

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

Создает объект target_block.

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

Уничтожает объект target_block.

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

Имя

Описание

Метод target_block::propagate

Асинхронно передает сообщение из исходного блока данному целевому блоку.

Метод target_block::send

Для этого целевого блока синхронно пересылает сообщение из исходного блока.

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

Имя

Описание

Метод target_block::async_send

Асинхронно отправляет сообщение для обработки.

Метод target_block::decline_incoming_messages

Указывает блоку, что новые сообщения должны быть отклонены.

Метод target_block::initialize_target

Инициализирует базовый объект. В частности, объект message_processor необходимо инициализировать.

Метод target_block::link_source

Связывает указанный блок источника с данным объектом target_block.

Метод target_block::process_message

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

Метод target_block::propagate_message

При переопределении в производном классе этот метод асинхронно передает сообщение из блока ISource этому объекту target_block. Вызывается методом propagate при вызове исходного блока.

Метод target_block::register_filter

Регистрирует метод фильтра, который будет вызван на каждое полученное сообщение.

Метод target_block::remove_sources

Unlinks все источники после ожидания завершения ожидающих операций асинхронной отправки.

Метод target_block::send_message

При переопределении в производном классе этот метод синхронно передает сообщение из блока ISource этому объекту target_block. Вызывается методом send при вызове исходного блока.

Метод target_block::sync_send

Синхронно отправляет сообщение для обработки.

Метод target_block::unlink_source

Удаляет связь указанного блока источника с данным объектом target_block.

Метод target_block::unlink_sources

Удаляет связи всех блоков источника с данным объектом target_block. (Переопределяет ITarget::unlink_sources.)

Метод target_block::wait_for_async_sends

Ожидает завершения всех асинхронных операций распространения.

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

ITarget

target_block

Требования

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

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

См. также

Ссылки

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

Класс ITarget