propagator_block-Klasse
Die propagator_block-Klasse ist eine abstrakte Basisklasse für Meldungsblöcke, die sowohl Quelle als auch Ziel sind. Kombiniert die Funktion der source_block-Klasse mit der Funktion der target_block-Klasse.
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>;
Parameter
_TargetLinkRegistry
Die Linkregistrierung, die zum Speichern der Ziellinks verwendet werden soll._SourceLinkRegistry
Die Linkregistrierung, die zum Speichern der Quelllinks verwendet werden soll._MessageProcessorType
Der Prozessortyp für die Meldungsverarbeitung.
Member
Öffentliche Typedefs
Name |
Beschreibung |
---|---|
source_iterator |
Der Typ des Iterators für den source_link_manager für dieses propagator_block-Objekt. |
Öffentliche Konstruktoren
Name |
Beschreibung |
---|---|
Erstellt ein propagator_block-Objekt. |
|
Zerstört ein propagator_block-Objekt. |
Öffentliche Methoden
Name |
Beschreibung |
---|---|
Übergibt eine Meldung asynchron von einem Quellblock an diesen Zielblock. |
|
Initiiert synchron eine Meldung an diesen Block. Wird von einem ISource-Block aufgerufen. Wenn diese Funktion abgeschlossen wird, wurde die Meldung bereits an den Block weitergegeben. |
Geschützte Methoden
Name |
Beschreibung |
---|---|
Gibt für den Block an, dass diese neuen Meldungen abgelehnt werden sollen. |
|
Initialisiert das Basisobjekt. Insbesondere muss das message_processor-Objekt initialisiert werden. |
|
Verknüpft einen angegebenen Quellblock mit diesem propagator_block-Objekt. |
|
Prozesseingabemeldungen. Dies ist für Weitergabeblöcke nur hilfreich, die vom source_block berechnen (Überschreibungen source_block::process_input_messages.) |
|
Diese Methode übergibt beim Überschreiben in einer abgeleiteten Klasse asynchron eine Meldung von einem ISource-Block an dieses propagator_block-Objekt. Wird bei Aufruf durch einen Quellblock von der propagate-Methode aufgerufen. |
|
Registriert eine Filtermethode, die für jede Meldung aufgerufen wird, die empfangen wurde. |
|
Entfernt alle Quell- und Zielnetzwerklinks von diesem propagator_block-Objekt. |
|
Diese Methode übergibt beim Überschreiben in einer abgeleiteten Klasse synchron eine Meldung von einem ISource-Block an dieses propagator_block-Objekt. Wird bei Aufruf durch einen Quellblock von der send-Methode aufgerufen. |
|
Hebt die Verknüpfung eines angegebenen Quellblocks mit diesem propagator_block-Objekt auf. |
|
Hebt die Verknüpfung aller Quellblöcke mit diesem propagator_block-Objekt auf. (Überschreibt ITarget::unlink_sources.) |
Hinweise
Um mehrfache Vererbung zu vermeiden, erbt die propagator_block-Klasse von der source_block-Klasse und der abstrakten ITarget-Namespace. Die meisten Funktionen der target_block-Klasse werden hier repliziert.
Vererbungshierarchie
propagator_block
Anforderungen
Header: agents.h
Namespace: Parallelität