Classe overwrite_buffer
Um bloco da mensagem de overwrite_buffer é uma para mais idiomas de destino, várias origem, propagator_block ordenado capaz de armazenar uma única mensagem por vez. As novas mensagens substituem tinham anteriormente.
template<
class _Type
>
class overwrite_buffer : public propagator_block<multi_link_registry<ITarget<_Type>>, multi_link_registry<ISource<_Type>>>;
Parâmetros
- _Type
O tipo de carga útil de mensagens armazenadas e propagadas pelo buffer.
Membros
Construtores Públicos
Nome |
Descrição |
---|---|
Sobrecarregado. Constrói um bloco da mensagem de overwrite_buffer . |
|
Destrói o bloco da mensagem de overwrite_buffer . |
Métodos Públicos
Nome |
Descrição |
---|---|
Verifica se este bloco da mensagem de overwrite_buffer tem um valor ainda. |
|
Obtém uma referência à carga atual da mensagem que está sendo armazenada no bloco da mensagem de overwrite_buffer . |
Métodos Protegidos
Nome |
Descrição |
---|---|
Aceita uma mensagem que é oferecida por esse bloco da mensagem de overwrite_buffer , retornando uma cópia da mensagem ao chamador. |
|
Consome uma mensagem anteriormente oferecida pelo bloco da mensagem de overwrite_buffer e reservada pelo destino, retornando uma cópia da mensagem ao chamador. |
|
Um retorno de chamada que notifica que um novo destino esteve vinculado a esse bloco da mensagem de overwrite_buffer . |
|
Passa de forma assíncrona uma mensagem de um bloco de ISource a esse bloco da mensagem de overwrite_buffer . É invocado pelo método de propagate , quando chamado por um bloco de origem. |
|
Coloca message_PMessage do bloco da mensagem de overwrite_buffer e oferece-o em todos os destinos vinculados. |
|
Libera uma reserva anterior da mensagem. (Substitui source_block::release_message.) |
|
Reserva uma mensagem oferecida anteriormente por esse bloco da mensagem de overwrite_buffer . (Substitui source_block::reserve_message.) |
|
Propagação de resumos depois que uma reserva foi liberada. (Substitui source_block::resume_propagation.) |
|
Passa de forma síncrona uma mensagem de um bloco de ISource a esse bloco da mensagem de overwrite_buffer . É invocado pelo método de send , quando chamado por um bloco de origem. |
|
Substitui o método de supports_anonymous_source para indicar que esse bloco pode aceitar as mensagens são oferecidas a ele por uma origem que não seja vinculada. (Substitui ITarget::supports_anonymous_source.) |
Comentários
Um bloco da mensagem de overwrite_buffer propaga out cópias da mensagem do armazenada para cada um de seus destinos.
Para obter mais informações, consulte Blocos de mensagens assíncronos.
Hierarquia de Herança
overwrite_buffer
Requisitos
Cabeçalho: agents.h
Namespace: simultaneidade