Classe unbounded_buffer
Un bloc de messagerie unbounded_buffer est un propagator_block ordonné multi-sources et multi-cibles capable de stocker un nombre illimité de messages.
template<
class _Type
>
class unbounded_buffer : public propagator_block<multi_link_registry<ITarget<_Type>>, multi_link_registry<ISource<_Type>>>;
Paramètres
- _Type
Le type de charge utile des messages stockés et propagés par la mémoire tampon.
Membres
Constructeurs publics
Nom |
Description |
---|---|
Surchargé. Construit un bloc de messagerie unbounded_buffer. |
|
Détruit le bloc de messagerie unbounded_buffer. |
Méthodes publiques
Nom |
Description |
---|---|
Supprime un élément du bloc de messagerie unbounded_buffer. |
|
Ajoute un élément au bloc de messagerie unbounded_buffer. |
Méthodes protégées
Nom |
Description |
---|---|
Accepte un message qui a été transmis par ce bloc de messagerie unbounded_buffer, en transférant la propriété à l'appelant. |
|
Consomme un message offert précédemment par le bloc de messagerie unbounded_buffer 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 unbounded_buffer. |
|
Place le message_PMessage dans ce bloc de messagerie unbounded_buffer et essaie de l'offrir à toutes les cibles liées. |
|
Passe un message de façon asynchrone d'un bloc ISource à ce bloc de messagerie unbounded_buffer. Il est appelé par la méthode propagate, en cas d'appel par un bloc source. |
|
Place le message_PMessage dans ce bloc de messagerie unbounded_buffer et essaie de l'offrir à toutes les cibles liées. (Ignore source_block::propagate_output_messages.) |
|
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 unbounded_buffer. (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 unbounded_buffer. 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
unbounded_buffer
Configuration requise
En-tête : agents.h
Espace de noms : concurrency