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 |
---|---|
Sobrecargado. Construye un bloque de mensajería transformer. |
|
Destruye el bloque de mensajería transformer. |
Métodos protegidos
Name |
Descripción |
---|---|
Acepta un mensaje que fue proporcionado por este bloque de mensajería transformer, transfiriendo la propiedad al llamador. |
|
Consume un mensaje que fue proporcionado anteriormente por transformer y reservado por el destino, transfiriendo la propiedad al llamador. |
|
Una devolución de llamada que notifica que se ha vinculado un nuevo destino a este bloque de mensajería transformer. |
|
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. |
|
Ejecuta la función transformer en los mensajes entrantes. |
|
Libera una reserva de mensaje anterior. (Invalida source_block::release_message.) |
|
Reserva un mensaje ofrecido previamente por este bloque de mensajería transformer. (Invalida source_block::reserve_message.) |
|
Reanuda la propagación una vez liberada una reserva. (Invalida source_block::resume_propagation.) |
|
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. |
|
Invalida el método de supports_anonymous_source para indicar que este bloque puede aceptar mensajes proporcionados al por un origen que no están vinculados. (Reemplaza ITarget::supports_anonymous_source.) |
Comentarios
Para obtener más información, vea Bloques de mensajes asincrónicos.
Jerarquía de herencia
transformer
Requisitos
Encabezado: agents.h
Espacio de nombres: simultaneidad