Classe propagator_block
La classe propagator_block è una classe base astratta per blocchi di messaggio che sono sia origine sia destinazione.Combina la funzionalità delle classi source_block e 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>;
Parametri
_TargetLinkRegistry
Registro di sistema del collegamento da utilizzare per il mantenimento dei collegamenti di destinazione._SourceLinkRegistry
Registro di sistema del collegamento da utilizzare per il mantenimento dei collegamenti di origine._MessageProcessorType
Tipo di processore per elaborazione del messaggio.
Membri
Typedef pubblici
Nome |
Descrizione |
---|---|
source_iterator |
Tipo di iteratore per source_link_manager di propagator_block. |
Costruttori pubblici
Nome |
Descrizione |
---|---|
Costruisce un oggetto propagator_block. |
|
Elimina un oggetto propagator_block. |
Metodi pubblici
Nome |
Descrizione |
---|---|
Consente di passare in modo asincrono un messaggio da un blocco di origine a quello di destinazione. |
|
Consente di avviare in modo sincrono un messaggio per questo blocco.Chiamato da un blocco ISource.Quando la funzione viene completata, il messaggio sarà già stato propagato nel blocco. |
Metodi protetti
Nome |
Descrizione |
---|---|
Consente di indicare il blocco che deve rifiutare i nuovi messaggi. |
|
Consente di inizializzare l'oggetto di base.In particolare, l'oggetto message_processor ha bisogno di essere inizializzato. |
|
Collega un blocco di origine specificato all'oggetto propagator_block. |
|
I messaggi di input di.Ciò è utile solo per i blocchi di propagazione, che derivano da source_block (override source_block::process_input_messages). |
|
Quando sottoposto a override in una classe derivata, il metodo passa in modo asincrono un messaggio da un blocco ISource all'oggetto propagator_block.Viene richiamato dal metodo propagate se chiamato da un blocco di origine. |
|
Consente di registrare un metodo di filtro che verrà richiamato a ogni messaggio ricevuto. |
|
Consente di rimuovere tutti i collegamenti di rete di origine e di destinazione da tale oggetto propagator_block. |
|
Quando sottoposto a override in una classe derivata, il metodo passa in modo sincrono un messaggio da un blocco ISource all'oggetto propagator_block.Viene richiamato dal metodo send se chiamato da un blocco di origine. |
|
Consente di scollegare un blocco di origine specificato dall'oggetto propagator_block. |
|
Consente di scollegare tutti i blocchi di origine dall'oggetto propagator_block.(Esegue l'override di ITarget::unlink_sources.) |
Note
Per ottenere l'ereditarietà multipla, la classe propagator_block eredita da quella source_block e da quella astratta ITarget.La maggior parte delle funzioni nella classe target_block è replicata qui.
Gerarchia di ereditarietà
propagator_block
Requisiti
Header: agents.h
Concorrenza diSpazio dei nomi: