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
Typedefs pública
Nome |
Descrição |
---|---|
source_iterator |
O tipo de iterador para o source_link_manager para este propagator_block. |
Construtores públicos
Nome |
Descrição |
---|---|
Constrói um propagator_block objeto. |
|
Destrói um propagator_block objeto. |
Métodos públicos
Nome |
Descrição |
---|---|
Assincronamente passa uma mensagem de um bloco de origem para este bloco de destino. |
|
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. |
Métodos protegidos
Nome |
Descrição |
---|---|
Indica o bloco que novas mensagens devem ser recusadas. |
|
Inicializa o objeto base.Especificamente, o message_processor objeto precisa ser inicializado. |
|
Vincula um bloco de origem especificado a este propagator_block objeto. |
|
Processar mensagens de entrada.Isso é útil para blocos de propagador, derivam de source_block (substitui source_block::process_input_messages.) |
|
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. |
|
Registra um método de filtro que será chamado em cada mensagem recebida. |
|
Remove todos os de origem e destino links de rede isso propagator_block objeto. |
|
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. |
|
Desvincula um bloco de origem especificado a partir propagator_block objeto. |
|
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
propagator_block
Requisitos
Cabeçalho: agents.h
Namespace: concorrência