Clase single_assignment
Un bloque de mensajería single_assignment es un bloque propagator_block de destino único, de varios orígenes y ordenado capaz de almacenar un único message en el que solo se puede escribir una vez.
template<
class _Type
>
class single_assignment : public propagator_block<multi_link_registry<ITarget<_Type>>, multi_link_registry<ISource<_Type>>>;
Parámetros
- _Type
El tipo de carga del mensaje almacenado y propagado por el búfer.
Miembros
Constructores públicos
Name |
Descripción |
---|---|
Sobrecargado. Construye un bloque de mensajería single_assignment. |
|
Destruye el bloque de mensajería single_assignment. |
Métodos públicos
Name |
Descripción |
---|---|
Comprueba si este bloque de mensajería single_assignment se ha inicializado con un valor. |
|
Obtiene una referencia a la carga útil actual del mensaje que se está almacenado en el bloque de mensajería single_assignment. |
Métodos protegidos
Name |
Descripción |
---|---|
Acepta un mensaje que fue proporcionado por este bloque de mensajería single_assignment, devolviendo una copia del mensaje al llamador. |
|
Consume un mensaje que fue proporcionado anteriormente por single_assignment y reservado por el destino, devolviendo una copia del mensaje al llamador. |
|
Una devolución de llamada que notifica que se ha vinculado un nuevo destino a este bloque de mensajería single_assignment. |
|
De forma asincrónica, pasa un mensaje de un bloque ISource a este bloque de mensajería single_assignment. Lo invoca el método propagate, cuando lo llama un bloque de origen. |
|
Coloca message_PMessage en este bloque de mensajería single_assignment y lo ofrece a todos los destinos vinculados. |
|
Libera una reserva de mensaje anterior. (Invalida source_block::release_message.) |
|
Reserva un mensaje ofrecido previamente por este bloque de mensajería single_assignment. (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 single_assignment. Lo invoca el método send, cuando lo llama un bloque de origen. |
Comentarios
Un bloque de mensajería single_assignment propaga las copias de su mensaje a cada destino.
Para obtener más información, vea Bloques de mensajes asincrónicos.
Jerarquía de herencia
Requisitos
Encabezado: agents.h
Espacio de nombres: Simultaneidad