join (Clase)

Un bloque de mensajería join es un bloque propagator_block de destino único y de varios orígenes ordenado, que combina los mensajes de tipo _Type de cada uno de sus orígenes.

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>>>;

Parámetros

  • _Type
    El tipo de carga de los mensajes combinados y propagados por el bloque.

  • _Jtype
    El tipo de bloque join es greedy o non_greedy

Miembros

Constructores públicos

Name

Descripción

join::join (Constructor)

Sobrecargado. Construye un bloque de mensajería join.

join::~join (Destructor)

Destruye el bloque join.

Métodos protegidos

Name

Descripción

join::accept_message (Método)

Acepta un mensaje que fue proporcionado por este bloque de mensajería join, transfiriendo la propiedad al llamador.

join::consume_message (Método)

Consume un mensaje que fue proporcionado anteriormente por el bloque de mensajería join y reservado por el destino, transfiriendo la propiedad al llamador.

join::link_target_notification (Método)

Una devolución de llamada que notifica que se ha vinculado un nuevo destino a este bloque de mensajería join.

join::propagate_message (Método)

De forma asincrónica, pasa un mensaje de un bloque ISource a este bloque de mensajería join. Lo invoca el método propagate, cuando lo llama un bloque de origen.

join::propagate_to_any_targets (Método)

Construye un mensaje de salida que contiene un mensaje de entrada de cada origen cuando todos ellos han propagado un mensaje. Envía este mensaje de resultados a cada uno de sus objetivos.

join::release_message (Método)

Libera una reserva de mensaje anterior. (Invalida source_block::release_message.)

join::reserve_message (Método)

Reserva un mensaje ofrecido previamente por este bloque de mensajería join. (Invalida source_block::reserve_message.)

join::resume_propagation (Método)

Reanuda la propagación una vez liberada una reserva. (Invalida source_block::resume_propagation.)

Comentarios

Para obtener más información, vea Bloques de mensajes asincrónicos.

Jerarquía de herencia

ISource

source_block

ITarget

propagator_block

join

Requisitos

Encabezado: agents.h

Espacio de nombres: Simultaneidad

Vea también

Referencia

Espacio de nombres de simultaneidad

Clase choice

multitype_join (Clase)

join_type (Enumeración)