Freigeben über


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

propagator_block::propagator_block-Konstruktor

Erstellt ein propagator_block-Objekt.

propagator_block::~propagator_block-Destruktor

Zerstört ein propagator_block-Objekt.

Öffentliche Methoden

Name

Beschreibung

propagator_block::propagate-Methode

Übergibt eine Meldung asynchron von einem Quellblock an diesen Zielblock.

propagator_block::send-Methode

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

propagator_block::decline_incoming_messages-Methode

Gibt für den Block an, dass diese neuen Meldungen abgelehnt werden sollen.

propagator_block::initialize_source_and_target-Methode

Initialisiert das Basisobjekt. Insbesondere muss das message_processor-Objekt initialisiert werden.

propagator_block::link_source-Methode

Verknüpft einen angegebenen Quellblock mit diesem propagator_block-Objekt.

propagator_block::process_input_messages-Methode

Prozesseingabemeldungen. Dies ist für Weitergabeblöcke nur hilfreich, die vom source_block berechnen (Überschreibungen source_block::process_input_messages.)

propagator_block::propagate_message-Methode

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.

propagator_block::register_filter-Methode

Registriert eine Filtermethode, die für jede Meldung aufgerufen wird, die empfangen wurde.

propagator_block::remove_network_links-Methode

Entfernt alle Quell- und Zielnetzwerklinks von diesem propagator_block-Objekt.

propagator_block::send_message-Methode

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.

propagator_block::unlink_source-Methode

Hebt die Verknüpfung eines angegebenen Quellblocks mit diesem propagator_block-Objekt auf.

propagator_block::unlink_sources-Methode

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

ISource

ITarget

source_block

propagator_block

Anforderungen

Header: agents.h

Namespace: Parallelität

Siehe auch

Referenz

concurrency-Namespace

source_block-Klasse

ITarget-Klasse