propagator_block (Clase)
La clase propagator_block es una clase base abstracta para los bloques de mensaje que son un bloque de origen y de destino. Combina la funcionalidad de las clases source_block y target_block.
template<
class _TargetLinkRegistry,
class _SourceLinkRegistry,
class _MessageProcessorType = ordered_message_processor<typename _TargetLinkRegistry::type::type>
>
class propagator_block : public source_block<_TargetLinkRegistry, _MessageProcessorType>, public ITarget<typename _SourceLinkRegistry::type::source_type>;
Parámetros
_TargetLinkRegistry
El Registro del vínculo que se va a usar para retener los vínculos de destino._SourceLinkRegistry
El Registro del vínculo que se va a usar para retener los vínculos de origen._MessageProcessorType
El tipo de procesador para el procesamiento de mensajes.
Miembros
Typedefs públicas
Name |
Descripción |
---|---|
source_iterator |
El tipo de iterador para source_link_manager, para este propagator_block. |
Constructores públicos
Name |
Descripción |
---|---|
Crea un objeto propagator_block. |
|
Destruye un objeto propagator_block. |
Métodos públicos
Name |
Descripción |
---|---|
De forma asincrónica, pasa un mensaje de un bloque de orígenes a este bloque de destino. |
|
De forma sincrónica, inicia un mensaje a este bloque. Lo llama un bloque ISource. Cuando esta función se completa, el mensaje ya se habrá propagado en el bloque. |
Métodos protegidos
Name |
Descripción |
---|---|
Indica al bloque que se deben rechazar los mensajes nuevos. |
|
Inicializa el objeto base. Específicamente, el objeto message_processor debe inicializarse. |
|
Vincula un bloque de orígenes especificado con este objeto propagator_block. |
|
Cuando se invalida en una clase derivada, este método pasa de forma asincrónica un mensaje de un bloque ISource a este objeto propagator_block. Lo invoca el método propagate, cuando lo llama un bloque de origen. |
|
Registra un método de filtro que se invocará en cada mensaje recibido. |
|
Quita todos los vínculos de red de origen y de destino de este objeto propagator_block. |
|
Cuando se invalida en una clase derivada, este método pasa de forma sincrónica un mensaje de un bloque ISource a este objeto propagator_block. Lo invoca el método send, cuando lo llama un bloque de origen. |
|
Desvincula un bloque de orígenes especificado desde este objeto propagator_block. |
|
Desvincula todos los bloques de origen desde este objeto propagator_block. (Invalida ITarget::unlink_sources.) |
Comentarios
Para evitar la herencia múltiple, la clase propagator_block hereda de la clase source_block y de la clase abstracta ITarget. La mayor parte de la funcionalidad de la clase target_block se replica aquí.
Jerarquía de herencia
Requisitos
Encabezado: agents.h
Espacio de nombres: Simultaneidad