Share via


unbounded_buffer-Klasse

Ein unbounded_buffer Nachrichtenblock ist, geordnetes propagator_block mit mehreren Zielen mit mehreren Quellen, das zum Speichern einer unendlichen Anzahl von Meldungen unterstützt.

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 gespeichert und vom Puffer übertragen.

Member

Dd492602.collapse_all(de-de,VS.110).gifÖffentliche Konstruktoren

Name

Beschreibung

unbounded_buffer::unbounded_buffer-Konstruktor

Überladen.Erstellt einen unbounded_buffer Nachrichtenblock.

unbounded_buffer::~unbounded_buffer-Destruktor

Löscht den unbounded_buffer Nachrichtenblock.

Dd492602.collapse_all(de-de,VS.110).gifÖffentliche Methoden

Name

Beschreibung

unbounded_buffer::dequeue-Methode

Entfernt ein Element aus dem unbounded_buffer Nachrichtenblock.

unbounded_buffer::enqueue-Methode

Fügt ein Element am unbounded_buffer Nachrichtenblock hinzu.

Dd492602.collapse_all(de-de,VS.110).gifGeschützte Methoden

Name

Beschreibung

unbounded_buffer::accept_message-Methode

Akzeptiert eine Meldung, die von diesem unbounded_buffer Nachrichtenblock bereitgestellt wurde und überträgt den Besitz an den Aufrufer.

unbounded_buffer::consume_message-Methode

Nutzt eine Nachricht, die zuvor durch den unbounded_buffer Nachrichtenblock bereitgestellt wird und vom Ziel reserviert ist und überträgt den Besitz an den Aufrufer.

unbounded_buffer::link_target_notification-Methode

Ein Rückruf, der benachrichtigt, dass ein neues Ziel zu diesem unbounded_buffer Nachrichtenblock verknüpft wurde.

unbounded_buffer::process_input_messages-Methode

Platziert message_PMessage in diesem unbounded_buffer Nachrichtenblock und versucht, sie alle verknüpften Zielen anzubieten.

unbounded_buffer::propagate_message-Methode

Sendet asynchron eine Nachricht von einem ISource an diesen unbounded_buffer Nachrichtenblock weiter.Sie wird von der propagate-Methode aufgerufen, wenn sie von einer Quellblock aufgerufen wird.

unbounded_buffer::propagate_output_messages-Methode

Platziert message_PMessage in diesem unbounded_buffer Nachrichtenblock und versucht, sie alle verknüpften Zielen anzubieten.source_block::propagate_output_messages Überschreibungen (.)

unbounded_buffer::release_message-Methode

Gibt eine vorherige reservierung Nachrichten.source_block::release_message Überschreibungen (.)

unbounded_buffer::reserve_message-Methode

Reserviert eine Nachricht, die zuvor durch diesen unbounded_buffer Nachrichtenblock bereitgestellt wird.source_block::reserve_message Überschreibungen (.)

unbounded_buffer::resume_propagation-Methode

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

unbounded_buffer::send_message-Methode

Sendet synchron eine Nachricht von einem ISource an diesen unbounded_buffer Nachrichtenblock weiter.Sie wird von der send-Methode aufgerufen, wenn sie von einer Quellblock aufgerufen wird.

unbounded_buffer::supports_anonymous_source-Methode

Überschreibt die supports_anonymous_source-Methode, um anzugeben, dass diese Blockade die Meldungen akzeptiert, die von dieser Quelle bereitgestellt werden, die nicht verknüpft ist.ITarget::supports_anonymous_source Überschreibungen (.)

Hinweise

Weitere Informationen finden Sie unter Asynchrone Nachrichtenblöcke.

Vererbungshierarchie

ISource

ITarget

source_block

propagator_block

unbounded_buffer

Anforderungen

Header: agents.h

Namespace: Parallelität

Siehe auch

Referenz

concurrency-Namespace

overwrite_buffer-Klasse

single_assignment-Klasse