Classe propagator_block
A classe de propagator_block é uma classe base abstrata para os blocos de mensagem que é uma origem e destino. Combina a funcionalidade das classes de source_block e de target_block .
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 para ser usado com o destino vincula._SourceLinkRegistry
O Registro de link para ser usado com a origem vincula._MessageProcessorType
O tipo de processador para o processamento de mensagem.
Membros
Typedefs Públicas
Nome |
Descrição |
---|---|
source_iterator |
O tipo de iterador para source_link_manager para este propagator_block. |
Construtores Públicos
Nome |
Descrição |
---|---|
Constrói um objeto propagator_block. |
|
Destrói um objeto de propagator_block . |
Métodos Públicos
Nome |
Descrição |
---|---|
Passa de forma assíncrona uma mensagem de um bloco de origem para este bloco de destino. |
|
Inicia de forma síncrona uma mensagem a esse bloco. Chamado por um bloco de ISource . Quando essa função é concluída, a mensagem será propagado no bloco. |
Métodos Protegidos
Nome |
Descrição |
---|---|
Indica ao bloco que as novas mensagens devem ser diminuídas. |
|
Inicializa o objeto base. Especificamente, o objeto de message_processor precisa ser inicializado. |
|
Vincula um bloco de origem especificado para este objeto de propagator_block . |
|
Mensagens de entrada do processo. Isso só é útil para os blocos de propagator, que deriva de source_block (substituições source_block::process_input_messages.) |
|
Quando substituído em uma classe derivada, esse método passa de forma assíncrona uma mensagem de um bloco de ISource a este objeto de propagator_block . É invocado pelo método de propagate , quando chamado por um bloco de origem. |
|
Registra um método de filtro que é invocado em cada mensagem recebida. |
|
Remove todos os links de rede de origem e de destino deste objeto de propagator_block . |
|
Quando substituído em uma classe derivada, esse método de forma síncrona transmite uma mensagem de um bloco de ISource a este objeto de propagator_block . É invocado pelo método de send , quando chamado por um bloco de origem. |
|
Unlinks um bloco de origem especificado deste objeto de propagator_block . |
|
Unlinks todos os blocos de origem deste objeto de propagator_block . (Substitui ITarget::unlink_sources.) |
Comentários
Para evitar a herança múltipla, a classe de propagator_block herda da classe e source_block da classe abstrata de ITarget . A maioria da funcionalidade na classe de target_block é replicada aqui.
Hierarquia de Herança
propagator_block
Requisitos
Cabeçalho: agents.h
Namespace: simultaneidade