Класс 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. |
|
Асинхронно передает сообщение из блока ISource в этот блок сообщений join.Вызывается методом propagate при вызове исходного блока. |
|
Конструирует выходное сообщение, содержащее сообщение для ввода из каждого источника, когда все они распространили сообщение.Посылает это выходное сообщение для каждого из его целевых объектов. |
|
Освобождает предыдущее резервирование сообщения.(Переопределяет конструктор source_block::release_message). |
|
Резервирует сообщение, которое было предложено этим блоком сообщений join.(Переопределяет конструктор source_block::reserve_message). |
|
Возобновляет распространение после отмены резервирования.(Переопределяет конструктор source_block::resume_propagation). |
Заметки
Дополнительные сведения см. в разделе Асинхронные блоки сообщений.
Иерархия наследования
join
Требования
Заголовок: agents.h
Параллелизм пространство имен: