Класс join

Блок сообщений join — многоисточниковый одноцелевой упорядоченный propagator_block, который сочетает сообщения типа _Type от каждого из своих источников.

template<
   class _Type,
   join_type _Jtype = non_greedy
>
class join : public propagator_block<single_link_registry<ITarget<std::vector<_Type>>>, multi_link_registry<ISource<_Type>>>;

Параметры

  • _Type
    Тип полезных данных объединенных и распространенных блоком сообщений.

  • _Jtype
    Тип блока join, которым он является, greedy или non_greedy

Члены

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

Имя

Описание

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

Перегружен. Создает блок сообщений join.

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

Уничтожает блок join.

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

Имя

Описание

Метод join::accept_message

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

Метод join::consume_message

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

Метод join::link_target_notification

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

Метод join::propagate_message

Асинхронно передает сообщение из блока ISource в этот блок сообщений join. Вызывается методом propagate при вызове исходного блока.

Метод join::propagate_to_any_targets

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

Метод join::release_message

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

Метод join::reserve_message

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

Метод join::resume_propagation

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

Заметки

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

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

ISource

source_block

ITarget

propagator_block

join

Требования

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

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

См. также

Ссылки

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

Класс choice

Класс multitype_join

Перечисление join_type