Partager via


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

unbounded_buffer::unbounded_buffer, constructeur

Surchargé. Construit un bloc de messagerie unbounded_buffer.

unbounded_buffer::~unbounded_buffer, destructeur

Détruit le bloc de messagerie unbounded_buffer.

M&#233;thodes publiques

Nom

Description

unbounded_buffer::dequeue, méthode

Supprime un élément du bloc de messagerie unbounded_buffer.

unbounded_buffer::enqueue, méthode

Ajoute un élément au bloc de messagerie unbounded_buffer.

Méthodes protégées

Nom

Description

unbounded_buffer::accept_message, méthode

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

unbounded_buffer::consume_message, méthode

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.

unbounded_buffer::link_target_notification, méthode

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

unbounded_buffer::process_input_messages, méthode

Place le message_PMessage dans ce bloc de messagerie unbounded_buffer et essaie de l'offrir à toutes les cibles liées.

unbounded_buffer::propagate_message, méthode

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.

unbounded_buffer::propagate_output_messages, méthode

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.)

unbounded_buffer::release_message, méthode

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

unbounded_buffer::reserve_message, méthode

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

unbounded_buffer::resume_propagation, méthode

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

unbounded_buffer::send_message, méthode

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.

unbounded_buffer::supports_anonymous_source, méthode

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

ISource

ITarget

source_block

propagator_block

unbounded_buffer

Configuration requise

En-tête : agents.h

Espace de noms : concurrency

Voir aussi

Référence

concurrency, espace de noms

Classe overwrite_buffer

Classe single_assignment