Clase unbounded_buffer
Un bloque de mensajería unbounded_buffer es un bloque propagator_block de destino único, de varios orígenes y ordenado capaz de almacenar un número ilimitado de mensajes.
template<
class _Type
>
class unbounded_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 |
---|---|
Sobrecargado. Construye un bloque de mensajería unbounded_buffer. |
|
Destruye el bloque de mensajería unbounded_buffer. |
Métodos públicos
Name |
Descripción |
---|---|
Quita un elemento del bloque de mensajería unbounded_buffer. |
|
Agrega un elemento al bloque de mensajería unbounded_buffer. |
Métodos protegidos
Name |
Descripción |
---|---|
Acepta un mensaje que fue proporcionado por este bloque de mensajería unbounded_buffer, transfiriendo la propiedad al llamador. |
|
Consume un mensaje que fue proporcionado anteriormente por el bloque de mensajería unbounded_buffer 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 unbounded_buffer. |
|
Coloca message_PMessage en este bloque de mensajería unbounded_buffer e intenta ofrecerlo a todos los destinos vinculados. |
|
De forma asincrónica, pasa un mensaje de un bloque ISource a este bloque de mensajería unbounded_buffer. Lo invoca el método propagate, cuando lo llama un bloque de origen. |
|
Coloca message_PMessage en este bloque de mensajería unbounded_buffer e intenta ofrecerlo a todos los destinos vinculados. (Reemplaza source_block::propagate_output_messages.) |
|
Libera una reserva de mensaje anterior. (Invalida source_block::release_message.) |
|
Reserva un mensaje ofrecido previamente por este bloque de mensajería unbounded_buffer. (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 unbounded_buffer. 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
unbounded_buffer
Requisitos
Encabezado: agents.h
Espacio de nombres: simultaneidad