overwrite_buffer classe

Um overwrite_buffer Bloco de mensagens é um para vários destinos, várias fontes, ordenada propagator_block capaz de armazenar uma única mensagem no momento. Novas mensagens substituem aqueles mantidos 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 das mensagens armazenadas e propagada por buffer.

Membros

Construtores públicos

Nome

Descrição

Construtor de overwrite_buffer::overwrite_buffer

Sobrecarregado. Constrói uma overwrite_buffer mensagens bloco.

overwrite_buffer:: ~ overwrite_buffer destruidor

Destrói a overwrite_buffer de mensagens do bloco.

Métodos públicos

Nome

Descrição

Método de overwrite_buffer::has_value

Verifica se esse overwrite_buffer o bloco de mensagens tem um valor ainda.

Método de overwrite_buffer::value

Obtém uma referência para a atual carga da mensagem que está sendo armazenada na overwrite_buffer de mensagens do bloco.

Métodos protegidos

Nome

Descrição

Método de overwrite_buffer::accept_message

Aceita uma mensagem que foi oferecida por esse overwrite_buffer mensagens de bloco, retornando uma cópia da mensagem para o chamador.

Método de overwrite_buffer::consume_message

Consome uma mensagem anteriormente oferecida pelo overwrite_buffer messaging bloquear e reservado pelo destino, retornando uma cópia da mensagem para o chamador.

Método de overwrite_buffer::link_target_notification

Um retorno de chamada que notifica que um novo destino tenha sido vinculado a esta overwrite_buffer mensagens bloco.

Método de overwrite_buffer::propagate_message

Assincronamente transmite uma mensagem de um ISource a este bloco de overwrite_buffer mensagens bloco. Ele é chamado pela propagate método, quando chamado por um bloco de código-fonte.

Método de overwrite_buffer::propagate_to_any_targets

Locais de message_PMessage neste overwrite_buffer Bloco de mensagens e oferecê-la a todos os destinos vinculado.

Método de overwrite_buffer::release_message

Libera uma reserva de mensagem anterior. (Substitui source_block::release_message.)

Método de overwrite_buffer::reserve_message

Reserva uma mensagem anteriormente oferecida por esse overwrite_buffer mensagens bloco. (Substitui source_block::reserve_message.)

Método de overwrite_buffer::resume_propagation

Reinicia a propagação após uma reserva foi lançada. (Substitui source_block::resume_propagation.)

Método de overwrite_buffer::send_message

Passa de forma síncrona uma mensagem de um ISource a este bloco de overwrite_buffer mensagens bloco. Ele é chamado pela send método, quando chamado por um bloco de código-fonte.

Comentários

Um overwrite_buffer Bloco de mensagens propaga cópias de sua mensagem armazenada para cada um dos destinos.

Para obter mais informações, consulte Blocos de mensagens assíncronas.

Hierarquia de herança

Podem ser

source_block

ITarget

propagator_block

overwrite_buffer

Requisitos

Cabeçalho: Agents.h

Namespace: Simultaneidade

Consulte também

Referência

Namespace de simultaneidade

Classe de unbounded_buffer

single_assignment classe