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.

Members

Dd492533.collapse_all(es-es,VS.110).gifConstructores 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.

Dd492533.collapse_all(es-es,VS.110).gifMé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.

Dd492533.collapse_all(es-es,VS.110).gifMé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.

overwrite_buffer::supports_anonymous_source (Método)

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

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

ITarget

source_block

propagator_block

overwrite_buffer

Requisitos

Encabezado: agents.h

Simultaneidad deespacio de nombres:

Vea también

Referencia

concurrency (Espacio de nombres)

Clase unbounded_buffer

Clase single_assignment