Compartilhar via


classe de unbounded_buffer

Um unbounded_buffer bloco de mensagens é um para vários destinos, várias fontes, ordenados propagator_block capaz de armazenar um número acoplado de mensagens.

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

Parâmetros

  • _Type
    O tipo de carga de mensagens armazenadas e propagadas por buffer.

Membros

Dd492602.collapse_all(pt-br,VS.110).gifConstrutores públicos

Nome

Descrição

Construtor de unbounded_buffer::unbounded_buffer

Sobrecarregado.Constrói um unbounded_buffer bloco de mensagens.

unbounded_buffer:: ~ unbounded_buffer destruidor

Destrói a unbounded_buffer bloco de mensagens.

Dd492602.collapse_all(pt-br,VS.110).gifMétodos públicos

Nome

Descrição

método de unbounded_buffer::dequeue

Remove um item a partir de unbounded_buffer bloco de mensagens.

método de unbounded_buffer::enqueue

Adiciona um item para o unbounded_buffer bloco de mensagens.

Dd492602.collapse_all(pt-br,VS.110).gifMétodos protegidos

Nome

Descrição

método de unbounded_buffer::accept_message

Aceita uma mensagem que foi oferecida por esse unbounded_buffer bloco de mensagens, transferindo a propriedade para o chamador.

método de unbounded_buffer::consume_message

Consome uma mensagem anteriormente oferecida pelo unbounded_buffer bloco de mensagens e reservado pelo destino, transferência de propriedade para o chamador.

método de unbounded_buffer::link_target_notification

Um retorno de chamada que notifica que um novo destino foi vinculado a esta unbounded_buffer bloco de mensagens.

Método de unbounded_buffer::process_input_messages

Locais de message_PMessage deste unbounded_buffer bloco de mensagens e tenta oferecer para todos os destinos vinculados.

método de unbounded_buffer::propagate_message

Assincronamente passa uma mensagem de um ISource bloco a esta unbounded_buffer bloco de mensagens.Ele é chamado pelo propagate método, quando chamado por um bloco de origem.

Método de unbounded_buffer::propagate_output_messages

Locais de message_PMessage deste unbounded_buffer bloco de mensagens e tenta oferecer para todos os destinos vinculados.(Substitui source_block::propagate_output_messages.)

método de unbounded_buffer::release_message

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

método de unbounded_buffer::reserve_message

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

método de unbounded_buffer::resume_propagation

Reinicia a propagação depois lançou uma reserva.(Substitui source_block::resume_propagation.)

método de unbounded_buffer::send_message

Síncrona passa uma mensagem de um ISource bloco a esta unbounded_buffer bloco de mensagens.Ele é chamado pelo send método, quando chamado por um bloco de origem.

Método de unbounded_buffer::supports_anonymous_source

Substitui o supports_anonymous_source método para indicar que este bloco pode aceitar mensagens oferecidas a ele por uma fonte que não está vinculada.(Substitui ITarget::supports_anonymous_source.)

Comentários

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

Hierarquia de herança

ISource

ITarget

source_block

propagator_block

unbounded_buffer

Requisitos

Cabeçalho: agents.h

Namespace: concorrência

Consulte também

Referência

simultaneidade Namespace

classe de overwrite_buffer

classe de single_assignment