Partager via


Classe overwrite_buffer

Un bloc de messagerie overwrite_buffer est un propagator_block ordonné, multi-sources et multi-cibles capable de stocker un seul message la fois.Les nouveaux messages remplacent ceux précédemment maintenus.

template<
   class _Type
>
class overwrite_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

Dd492533.collapse_all(fr-fr,VS.110).gifConstructeurs publics

Nom

Description

overwrite_buffer::overwrite_buffer, constructeur

Surchargé.Construit un bloc de messagerie overwrite_buffer.

overwrite_buffer::~overwrite_buffer, destructeur

Détruit le bloc de messagerie overwrite_buffer.

Dd492533.collapse_all(fr-fr,VS.110).gifMéthodes publiques

Nom

Description

overwrite_buffer::has_value, méthode

Vérifie si ce bloc de messagerie overwrite_buffer a déjà une valeur.

overwrite_buffer::value, méthode

Obtient une référence pour la charge utile actuelle du message qui est stocké dans le bloc de messagerie overwrite_buffer.

Dd492533.collapse_all(fr-fr,VS.110).gifMéthodes protégées

Nom

Description

overwrite_buffer::accept_message, méthode

Accepte un message qui a été transmis par ce bloc de messagerie overwrite_buffer, en retournant une copie du message à l'appelant.

overwrite_buffer::consume_message, méthode

Consomme un message offert précédemment par le bloc de messagerie overwrite_buffer et réservé par la cible, en retournant une copie du message à l'appelant.

overwrite_buffer::link_target_notification, méthode

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

overwrite_buffer::propagate_message, méthode

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

overwrite_buffer::propagate_to_any_targets, méthode

Place le message_PMessage dans ce bloc de messagerie overwrite_buffer et l'offres à toutes les cibles liées.

overwrite_buffer::release_message, méthode

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

overwrite_buffer::reserve_message, méthode

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

overwrite_buffer::resume_propagation, méthode

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

overwrite_buffer::send_message, méthode

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

overwrite_buffer::supports_anonymous_source, méthode

Substitue la méthode d' supports_anonymous_source pour indiquer que ce bloc peut recevoir des messages fournis à -la par une source qui n'est pas liée.(Substitutions ITarget::supports_anonymous_source.)

Notes

Un bloc de messagerie overwrite_buffer propage des copies de son message stocké vers chacune de ses cibles.

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

Hiérarchie d'héritage

ISource

ITarget

source_block

propagator_block

overwrite_buffer

Configuration requise

En-tête : agents.h

Accès concurrentiel del'espace de noms :

Voir aussi

Référence

concurrency, espace de noms

Classe unbounded_buffer

Classe single_assignment