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 |
---|---|
Surchargé. Construit un bloc de messagerie transformer. |
|
Détruit le bloc de messagerie transformer. |
Méthodes protégées
Nom |
Description |
---|---|
Accepte un message qui a été transmis par ce bloc de messagerie transformer, en transférant la propriété à l'appelant. |
|
Consomme un message offert précédemment par le transformer et réservé par la cible, en transférant la propriété à l'appelant. |
|
Rappel qui notifie qu'une nouvelle cible a été liée à ce bloc de messagerie transformer. |
|
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. |
|
Exécute la fonction transformer sur les messages d'entrée. |
|
Libère une réservation de message précédente. (Substitue source_block::release_message.) |
|
Réserve un message précédemment offert par ce bloc de messagerie transformer. (Substitue source_block::reserve_message.) |
|
Reprend la propagation après qu'une réservation a été libérée. (Substitue source_block::resume_propagation.) |
|
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. |
|
Remplace la méthode supports_anonymous_source pour indiquer que le bloc peut recevoir des messages proposés par une source qui n'est pas liée. (Remplace ITarget::supports_anonymous_source). |
Notes
Pour plus d'informations, consultez Blocs de messages asynchrones.
Hiérarchie d'héritage
transformer
Configuration requise
En-tête : agents.h
Espace de noms : concurrency