Partager via


Classe transformer

Un bloc de messagerie transformer est un propagator_block ordonné, multi-sources, à cible unique qui peut accepter des messages d'un type et stocker un nombre illimité de messages d'un type différent.

template<
   class _Input,
   class _Output
>
class transformer : public propagator_block<single_link_registry<ITarget<_Output>>, multi_link_registry<ISource<_Input>>>;

Paramètres

  • _Input
    Le type de charge utile des messages acceptés par la mémoire tampon.

  • _Output
    Le type de charge utile des messages stockés et propagés à l'extérieur par la mémoire tampon.

Membres

Constructeurs publics

Nom

Description

transformer::transformer, constructeur

Surchargé. Construit un bloc de messagerie transformer.

transformer::~transformer, destructeur

Détruit le bloc de messagerie transformer.

Méthodes protégées

Nom

Description

transformer::accept_message, méthode

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

transformer::consume_message, méthode

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

transformer::link_target_notification, méthode

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

transformer::propagate_message, méthode

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

transformer::propagate_to_any_targets, méthode

Exécute la fonction de transformateur sur le message d'entrée et essaie d'offrir le message résultant à toutes les cibles liées.

transformer::release_message, méthode

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

transformer::reserve_message, méthode

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

transformer::resume_propagation, méthode

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

transformer::send_message, méthode

Passe de façon synchrone un message du bloc ISource au bloc de messagerie transformer. Il est appelé par la méthode send, en cas d'appel par un bloc source.

Notes

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

Hiérarchie d'héritage

ISource

source_block

ITarget

propagator_block

transformer

Configuration requise

En-tête : agents.h

Espace de noms d'accès : Concurrency

Voir aussi

Référence

Concurrency, espace de noms

call, classe