Compartir a través de


Clase overwrite_buffer

Un bloque de mensajería overwrite_buffer es un bloque propagator_block de destino único, de varios orígenes y ordenado capaz de almacenar un único mensaje cada vez. Los nuevos mensajes sobrescriben a los retenidos previamente.

template<
   class _Type
>
class overwrite_buffer : public propagator_block<multi_link_registry<ITarget<_Type>>, multi_link_registry<ISource<_Type>>>;

Parámetros

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

Miembros

Constructores públicos

Name

Descripción

overwrite_buffer::overwrite_buffer (Constructor)

Sobrecargado. Construye un bloque de mensajería overwrite_buffer.

overwrite_buffer::~overwrite_buffer (Destructor)

Destruye el bloque de mensajería overwrite_buffer.

Métodos públicos

Name

Descripción

overwrite_buffer::has_value (Método)

Comprueba si este bloque de mensajería overwrite_buffer tiene un valor.

overwrite_buffer::value (Método)

Obtiene una referencia a la carga útil actual del mensaje que se está almacenado en el bloque de mensajería overwrite_buffer.

Métodos protegidos

Name

Descripción

overwrite_buffer::accept_message (Método)

Acepta un mensaje que fue proporcionado por este bloque de mensajería overwrite_buffer, devolviendo una copia del mensaje al llamador.

overwrite_buffer::consume_message (Método)

Consume un mensaje que fue proporcionado anteriormente por el bloque de mensajería overwrite_buffer y reservado por el destino, devolviendo una copia del mensaje al llamador.

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

overwrite_buffer::propagate_message (Método)

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

overwrite_buffer::propagate_to_any_targets (Método)

Coloca message_PMessage en este bloque de mensajería overwrite_buffer y lo ofrece a todos los destinos vinculados.

overwrite_buffer::release_message (Método)

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

overwrite_buffer::reserve_message (Método)

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

overwrite_buffer::resume_propagation (Método)

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

overwrite_buffer::send_message (Método)

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

Comentarios

Un bloque de mensajería overwrite_buffer propaga las copias de su mensaje almacenado a cada uno de sus destinos.

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

Jerarquía de herencia

ISource

source_block

ITarget

propagator_block

overwrite_buffer

Requisitos

Encabezado: agents.h

Espacio de nombres: Simultaneidad

Vea también

Referencia

Espacio de nombres de simultaneidad

Clase unbounded_buffer

Clase single_assignment