Partager via


propagator_block, classe

La classe propagator_block est une classe de base abstraite pour les blocs de messages qui sont à la fois une source et une cible.Il combine les fonctionnalités des classes target_block et source_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>;

Paramètres

  • _TargetLinkRegistry
    Registre de liens à utiliser pour contenir les liens cibles.

  • _SourceLinkRegistry
    Registre de liens à utiliser pour contenir les liens source.

  • _MessageProcessorType
    Type de processeur pour le traitement du message.

Membres

Dd504864.collapse_all(fr-fr,VS.110).gifTypedefs publics

Nom

Description

source_iterator

Type de l'itérateur pour source_link_manager pour ce propagator_block.

Dd504864.collapse_all(fr-fr,VS.110).gifConstructeurs publics

Nom

Description

propagator_block::propagator_block, constructeur

Construit un objet propagator_block.

propagator_block::~propagator_block, destructeur

Détruit un objet propagator_block.

Dd504864.collapse_all(fr-fr,VS.110).gifMéthodes publiques

Nom

Description

propagator_block::propagate, méthode

Passe un message de façon asynchrone d'un bloc source à ce bloc cible.

propagator_block::send, méthode

Démarre de façon synchrone un message de ce bloc.Appelé par un bloc ISource.Lorsque cette fonction se termine, le message est déjà propagé dans le bloc.

Dd504864.collapse_all(fr-fr,VS.110).gifMéthodes protégées

Nom

Description

propagator_block::decline_incoming_messages, méthode

Indique au bloc que les nouveaux messages doivent être refusés.

propagator_block::initialize_source_and_target, méthode

Initialise l'objet de base.Spécifiquement, l'objet message_processor doit être initialisé.

propagator_block::link_source, méthode

Lie un bloc source spécifié à cet objet propagator_block.

propagator_block::process_input_messages, méthode

Messages d'entrée de processus.Ceci est utile uniquement des blocs de propagateur, qui dérivent de source_block (substitutions source_block::process_input_messages.)

propagator_block::propagate_message, méthode

En cas de substitution dans une classe dérivée, cette méthode passe de façon asynchrone un message d'un bloc ISource à cet objet propagator_block.Il est appelé par la méthode propagate, en cas d'appel par un bloc source.

propagator_block::register_filter, méthode

Inscrit une méthode de filtre qui sera appelée sur chaque message reçu.

propagator_block::remove_network_links, méthode

Supprime tous les liens de réseau source et cible de cet objet propagator_block.

propagator_block::send_message, méthode

En cas de substitution dans une classe dérivée, cette méthode passe de façon synchrone un message d'un bloc ISource à cet objet propagator_block.Il est appelé par la méthode send, en cas d'appel par un bloc source.

propagator_block::unlink_source, méthode

Dissocie un bloc source spécifié de cet objet propagator_block.

propagator_block::unlink_sources, méthode

Dissocie tous les blocs source de cet objet propagator_block.(Substitue ITarget::unlink_sources.)

Notes

Pour éviter l'héritage multiple, la classe propagator_block hérite de la classe source_block et de la classe abstraite ITarget.La plupart des fonctionnalités de la classe target_block sont répliquées ici.

Hiérarchie d'héritage

ISource

ITarget

source_block

propagator_block

Configuration requise

En-tête : agents.h

Accès concurrentiel del'espace de noms :

Voir aussi

Référence

concurrency, espace de noms

source_block, classe

ITarget, classe