Freigeben über


overwrite_buffer-Klasse

Ein overwrite_buffer Nachrichtenblock ist, geordnetes propagator_block mit mehreren Zielen mit mehreren Quellen, das eine einzelne Nachricht gleichzeitig speichern kann.Die neue Meldungen eine zuvor reservierten überschreiben.

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

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

Name

Beschreibung

overwrite_buffer::overwrite_buffer-Konstruktor

Überladen.Erstellt einen overwrite_buffer Nachrichtenblock.

overwrite_buffer::~overwrite_buffer-Destruktor

Löscht den overwrite_buffer Nachrichtenblock.

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

Name

Beschreibung

overwrite_buffer::has_value-Methode

Überprüft, ob dieser overwrite_buffer Nachrichtenblock noch über einen Wert verfügt.

overwrite_buffer::value-Methode

Ruft einen Verweis auf die aktuelle Nutzlast der Nachricht ab, die im overwrite_buffer Nachrichtenblock gespeichert wird.

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

Name

Beschreibung

overwrite_buffer::accept_message-Methode

Akzeptiert eine Meldung, die von diesem overwrite_buffer Nachrichtenblock bereitgestellt wurde und gibt eine Kopie der Meldung an den Aufrufer zurück.

overwrite_buffer::consume_message-Methode

Nutzt eine Nachricht, die zuvor durch den overwrite_buffer Nachrichtenblock bereitgestellt wird und vom Ziel reserviert ist, und gibt eine Kopie der Meldung an den Aufrufer zurück.

overwrite_buffer::link_target_notification-Methode

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

overwrite_buffer::propagate_message-Methode

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

overwrite_buffer::propagate_to_any_targets-Methode

Platziert message_PMessage in diesem overwrite_buffer Nachrichtenblock und ermöglicht es allen verknüpften Ziele an.

overwrite_buffer::release_message-Methode

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

overwrite_buffer::reserve_message-Methode

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

overwrite_buffer::resume_propagation-Methode

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

overwrite_buffer::send_message-Methode

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

overwrite_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

Ein overwrite_buffer Nachrichtenblock weitergegeben out Kopien der gespeicherten Meldung für jeden der Ziele.

Weitere Informationen finden Sie unter Asynchrone Nachrichtenblöcke.

Vererbungshierarchie

ISource

ITarget

source_block

propagator_block

overwrite_buffer

Anforderungen

Header: agents.h

Namespace: Parallelität

Siehe auch

Referenz

concurrency-Namespace

unbounded_buffer-Klasse

single_assignment-Klasse