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

Constructeurs publics

Nom

Description

join::join, constructeur

Surchargé. Construit un bloc de messagerie join.

join::~join, destructeur

Détruit le bloc join.

Mé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

source_block

ITarget

propagator_block

join

Configuration requise

En-tête : agents.h

Espace de noms d'accès : Concurrency

Voir aussi

Référence

Concurrency, espace de noms

Classe choice

multitype_join, classe

join_type, énumération