unbounded_buffer-Klasse

Ein unbounded_buffer-Meldungsblock ist ein geordneter propagator_block mit mehreren Zielen und mehreren Quellen, der eine unbegrenzte Anzahl von Meldungen speichern kann.

template<
   class _Type
>
class unbounded_buffer : public propagator_block<multi_link_registry<ITarget<_Type>>, multi_link_registry<ISource<_Type>>>;

Parameter

  • _Type
    Der Nutzlasttyp der Meldungen, die vom Puffer gespeichert und weitergegeben wurden.

Member

Öffentliche Konstruktoren

Name

Beschreibungen

unbounded_buffer::unbounded_buffer-Konstruktor

Überladen. Erstellt einen unbounded_buffer-Meldungsblock.

unbounded_buffer::~unbounded_buffer-Destruktor

Zerstört den unbounded_buffer-Meldungsblock.

Öffentliche Methoden

Name

Beschreibungen

unbounded_buffer::dequeue-Methode

Entfernt ein Element aus diesem unbounded_buffer-Meldungsblock.

unbounded_buffer::enqueue-Methode

Fügt dem unbounded_buffer-Meldungsblock ein Element hinzu.

Geschützte Methoden

Name

Beschreibungen

unbounded_buffer::accept_message-Methode

Akzeptiert eine Meldung, die von diesem unbounded_buffer-Meldungsblock angeboten wurde, und überträgt den Besitz an den Aufrufer.

unbounded_buffer::consume_message-Methode

Nimmt eine Meldung an, die zuvor vom unbounded_buffer-Meldungsblock angeboten und vom Ziel reserviert wurde, und überträgt den Besitz an den Aufrufer.

unbounded_buffer::link_target_notification-Methode

Ein Rückruf, der meldet, dass ein neues Ziel mit diesem unbounded_buffer-Meldungsblock verknüpft wurde.

unbounded_buffer::propagate_message-Methode

Übergibt eine Meldung asynchron von einem ISource-Block an diesen unbounded_buffer-Meldungsblock. Wird bei Aufruf durch einen Quellblock von der propagate-Methode aufgerufen.

unbounded_buffer::propagate_to_any_targets-Methode

Fügt message_PMessage in diesen unbounded_buffer-Meldungsblock ein und versucht, sie allen verknüpften Zielen anzubieten.

unbounded_buffer::release_message-Methode

Gibt die Reservierung einer vorherigen Meldung frei. (Überschreibt source_block::release_message.)

unbounded_buffer::reserve_message-Methode

Reserviert eine Meldung, die zuvor von diesem unbounded_buffer-Meldungsblock angeboten wurde. (Überschreibt source_block::reserve_message.)

unbounded_buffer::resume_propagation-Methode

Setzt die Weitergabe fort, nachdem eine Reservierung freigegeben wurde. (Überschreibt source_block::resume_propagation.)

unbounded_buffer::send_message-Methode

Übergibt eine Meldung synchron von einem ISource-Block an diesen unbounded_buffer-Meldungsblock. Wird bei Aufruf durch einen Quellblock von der send-Methode aufgerufen.

Hinweise

Weitere Informationen finden Sie unter Asynchrone Nachrichtenblöcke.

Vererbungshierarchie

ISource

source_block

ITarget

propagator_block

unbounded_buffer

Anforderungen

Header: agents.h

Namespace: Concurrency

Siehe auch

Referenz

Concurrency-Namespace

overwrite_buffer-Klasse

single_assignment-Klasse