Compartilhar via


propagator_block classe

O propagator_block classe é uma classe base abstrata para blocos de mensagem são uma origem e destino.Ele combina a funcionalidade de ambos os source_block e target_block classes.

template<
   class _TargetLinkRegistry,
   class _SourceLinkRegistry,
   class _MessageProcessorType = ordered_message_processor<typename _TargetLinkRegistry::type::type>
>
class propagator_block : public source_block<_TargetLinkRegistry, _MessageProcessorType>, public ITarget<typename _SourceLinkRegistry::type::source_type>;

Parâmetros

  • _TargetLinkRegistry
    O registro de link a ser usado para manter os links de destino.

  • _SourceLinkRegistry
    O registro de link a ser usado para manter os links de origem.

  • _MessageProcessorType
    O tipo de processador para processamento de mensagem.

Membros

Dd504864.collapse_all(pt-br,VS.110).gifTypedefs pública

Nome

Descrição

source_iterator

O tipo de iterador para o source_link_manager para este propagator_block.

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

Nome

Descrição

Construtor de propagator_block::propagator_block

Constrói um propagator_block objeto.

propagator_block:: ~ propagator_block destruidor

Destrói um propagator_block objeto.

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

Nome

Descrição

método de propagator_block::propagate

Assincronamente passa uma mensagem de um bloco de origem para este bloco de destino.

método de propagator_block::send

Síncrona inicia uma mensagem para este bloco.Chamado por um ISource bloco.Quando esta função for concluída, a mensagem já tiver propagadas no bloco.

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

Nome

Descrição

método de propagator_block::decline_incoming_messages

Indica o bloco que novas mensagens devem ser recusadas.

método de propagator_block::initialize_source_and_target

Inicializa o objeto base.Especificamente, o message_processor objeto precisa ser inicializado.

método de propagator_block::link_source

Vincula um bloco de origem especificado a este propagator_block objeto.

Método de propagator_block::process_input_messages

Processar mensagens de entrada.Isso é útil para blocos de propagador, derivam de source_block (substitui source_block::process_input_messages.)

método de propagator_block::propagate_message

Quando substituído em uma classe derivada, esse método assincronamente transmite uma mensagem de um ISource bloco a esta propagator_block objeto.Ele é chamado pelo propagate método, quando chamado por um bloco de origem.

método de propagator_block::register_filter

Registra um método de filtro que será chamado em cada mensagem recebida.

método de propagator_block::remove_network_links

Remove todos os de origem e destino links de rede isso propagator_block objeto.

método de propagator_block::send_message

Quando substituído em uma classe derivada, esse método sincronicamente transmite uma mensagem de um ISource bloco a esta propagator_block objeto.Ele é chamado pelo send método, quando chamado por um bloco de origem.

método de propagator_block::unlink_source

Desvincula um bloco de origem especificado a partir propagator_block objeto.

método de propagator_block::unlink_sources

Desvincula todos os blocos de origem desta propagator_block objeto.(Substitui ITarget::unlink_sources.)

Comentários

Para evitar a herança múltipla, o propagator_block classe herda de source_block classe e ITarget classe abstrata.Maioria da funcionalidade no target_block classe é replicado aqui.

Hierarquia de herança

ISource

ITarget

source_block

propagator_block

Requisitos

Cabeçalho: agents.h

Namespace: concorrência

Consulte também

Referência

simultaneidade Namespace

source_block classe

Classe ITarget