Compartir a través de


Clase transformer

Un bloque de mensajería transformer es un bloque propagator_block de destino único, de varios orígenes y ordenado capaz de almacenar un número ilimitado de mensajes de un tipo diferente.

template<
   class _Input,
   class _Output
>
class transformer : public propagator_block<single_link_registry<ITarget<_Output>>, multi_link_registry<ISource<_Input>>>;

Parámetros

  • _Input
    El tipo de carga de los mensajes aceptados por el procesador.

  • _Output
    El tipo de carga de los mensajes almacenados y propagados fuera por el búfer.

Miembros

Constructores públicos

Name

Descripción

transformer::transformer (Constructor)

Sobrecargado. Construye un bloque de mensajería transformer.

transformer::~transformer (Destructor)

Destruye el bloque de mensajería transformer.

Métodos protegidos

Name

Descripción

transformer::accept_message (Método)

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

transformer::consume_message (Método)

Consume un mensaje que fue proporcionado anteriormente por transformer y reservado por el destino, transfiriendo la propiedad al llamador.

transformer::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 transformer.

transformer::propagate_message (Método)

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

transformer::propagate_to_any_targets (Método)

Ejecuta la función de transformador en el mensaje de entrada e intenta ofrecer el mensaje resultante a todos los destinos vinculados.

transformer::release_message (Método)

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

transformer::reserve_message (Método)

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

transformer::resume_propagation (Método)

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

transformer::send_message (Método)

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

Comentarios

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

Jerarquía de herencia

ISource

source_block

ITarget

propagator_block

transformer

Requisitos

Encabezado: agents.h

Espacio de nombres: Simultaneidad

Vea también

Referencia

Espacio de nombres de simultaneidad

Clase call