propagator_block classe

O propagator_block classe é uma classe base abstrata para blocos de mensagens que são de 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 o processamento de mensagem.

Membros

Definições de tipo públicas

Nome

Descrição

source_iterator

O tipo do iterador para o source_link_manager para este propagator_block.

Construtores públicos

Nome

Descrição

Construtor de propagator_block::propagator_block

Constrói uma propagator_block objeto.

propagator_block:: ~ propagator_block destruidor

Destrói um propagator_block objeto.

Mé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

Modo síncrono, inicia uma mensagem para este bloco. Chamado por um ISource bloco. Quando essa função é concluída, a mensagem já ter propagadas no bloco.

Mé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::propagate_message

Quando substituído em uma classe derivada, esse método assincronamente transmite uma mensagem de um ISource a este bloco de propagator_block objeto. Ele é chamado pela propagate método, quando chamado por um bloco de código-fonte.

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 a este bloco de propagator_block objeto. Ele é chamado pela send método, quando chamado por um bloco de código-fonte.

Método de propagator_block::unlink_source

Desvincula um bloco de origem especificado a partir dessa propagator_block objeto.

Método de propagator_block::unlink_sources

Desvincula todos os blocos de origem a partir dessa 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 de abstrata. A maioria da funcionalidade no target_block classe é replicado aqui.

Hierarquia de herança

Podem ser

source_block

ITarget

propagator_block

Requisitos

Cabeçalho: Agents.h

Namespace: Simultaneidade

Consulte também

Referência

Namespace de simultaneidade

source_block classe

Classe de ITarget