Partager via


join, classe

Un bloc de messagerie join est un propagator_block de cible unique, de source multiple et classé qui combine ensemble des messages de type _Type à partir de chacune de ses sources.

template<
   class _Type,
   join_type _Jtype = non_greedy
>
class join : public propagator_block<single_link_registry<ITarget<std::vector<_Type>>>, multi_link_registry<ISource<_Type>>>;

Paramètres

  • _Type
    Le type de charge utile des messages joints et propagés par le bloc.

  • _Jtype
    Le genre de bloc join qui est greedy ou non_greedy

Membres

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

Nom

Description

join::join, constructeur

Surchargé.Construit un bloc de messagerie join.

join::~join, destructeur

Détruit le bloc join.

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

Nom

Description

join::accept_message, méthode

Accepte un message qui a été transmis par ce bloc de messagerie join, en transférant la propriété à l'appelant.

join::consume_message, méthode

Consomme un message offert précédemment par le bloc de messagerie join et réservé par la cible, en transférant la propriété à l'appelant.

join::link_target_notification, méthode

Rappel qui notifie qu'une nouvelle cible a été liée à ce bloc de messagerie join.

join::propagate_message, méthode

Passe un message de façon asynchrone d'un bloc ISource à ce bloc de messagerie join.Il est appelé par la méthode propagate, en cas d'appel par un bloc source.

join::propagate_to_any_targets, méthode

Construit un message de sortie contenant un message d'entrée de chaque source lorsqu'ils ont tous propagé un message.Envoie ce message de sortie à chacune de ses cibles.

join::release_message, méthode

Libère une réservation de message précédente.(Substitue source_block::release_message.)

join::reserve_message, méthode

Réserve un message précédemment offert par ce bloc de messagerie join.(Substitue source_block::reserve_message.)

join::resume_propagation, méthode

Reprend la propagation après qu'une réservation a été libérée.(Substitue source_block::resume_propagation.)

Notes

Pour plus d'informations, consultez Blocs de messages asynchrones.

Hiérarchie d'héritage

ISource

ITarget

source_block

propagator_block

join

Configuration requise

En-tête : agents.h

Accès concurrentiel del'espace de noms :

Voir aussi

Référence

concurrency, espace de noms

Classe choice

multitype_join, classe

join_type, énumération