Udostępnij za pośrednictwem


overwrite_buffer — Klasa

Blok obsługi wiadomości overwrite_buffer to blok o wielu elementach docelowych i źródłowych, uporządkowany propagator_block, który może przechowywać jedną wiadomość naraz.Nowe wiadomości zastępują poprzednio posiadane.

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

Parametry

  • _Type
    Typ ładunku wiadomości przechowywane i propagowane przez bufor.

Elementy członkowskie

Konstruktory publiczne

Nazwa

Opis

overwrite_buffer::overwrite_buffer — Konstruktor

Przeciążone.Konstrukcje overwrite_buffer bloku obsługi wiadomości.

overwrite_buffer::~overwrite_buffer — Destruktor

Niszczy overwrite_buffer bloku obsługi wiadomości.

Metody publiczne

Nazwa

Opis

overwrite_buffer::has_value — Metoda

Sprawdza, czy to overwrite_buffer bloku obsługi wiadomości ma wartość jeszcze.

overwrite_buffer::value — Metoda

Pobiera odwołanie do bieżącego ładunku wiadomości są przechowywane w overwrite_buffer bloku obsługi wiadomości.

Metody chronione

Nazwa

Opis

overwrite_buffer::accept_message — Metoda

Akceptuje wiadomości, który był oferowany przez to overwrite_buffer bloku obsługi wiadomości, zwracanie kopię wiadomości do obiektu wywołującego.

overwrite_buffer::consume_message — Metoda

Pobiera wiadomość oferowanych wcześniej przez overwrite_buffer wiadomości bloku i zarezerwowany przez obiekt docelowy, zwracanie kopię wiadomości do obiektu wywołującego.

overwrite_buffer::link_target_notification — Metoda

Wywołania zwrotnego, który powiadamia, że nowy obiekt docelowy został powiązany z tym overwrite_buffer bloku obsługi wiadomości.

overwrite_buffer::propagate_message — Metoda

Asynchronicznie przekazuje komunikat z ISource bloku do tego overwrite_buffer bloku obsługi wiadomości.Jest ono wywoływane przez propagate metodę, gdy wywoływany przez bloku źródłowego.

overwrite_buffer::propagate_to_any_targets — Metoda

Miejsca message_PMessage w tym overwrite_buffer wiadomości bloku i oferuje ją do wszystkich połączonych obiektów docelowych.

overwrite_buffer::release_message — Metoda

Zwalnia Poprzednia rezerwacja wiadomość. (Zastępuje source_block::release_message.)

overwrite_buffer::reserve_message — Metoda

Zastrzega sobie wiadomości oferowanych wcześniej przez to overwrite_buffer bloku obsługi wiadomości. (Zastępuje source_block::reserve_message.)

overwrite_buffer::resume_propagation — Metoda

Wznawia działanie propagacji po zastrzeżenie zostało zwolnione. (Zastępuje source_block::resume_propagation.)

overwrite_buffer::send_message — Metoda

Synchronicznie przekazuje komunikat z ISource bloku do tego overwrite_buffer bloku obsługi wiadomości.Jest ono wywoływane przez send metodę, gdy wywoływany przez bloku źródłowego.

overwrite_buffer::supports_anonymous_source — Metoda

Zastępuje supports_anonymous_source metody, aby wskazać, że ten blok mogą akceptować wiadomości oferowanych przez źródło, który nie jest połączony. (Zastępuje ITarget::supports_anonymous_source.)

Uwagi

overwrite_buffer Bloku obsługi wiadomości rozchodzi się kopie swoich przechowywanych wiadomości do każdego z jego elementów docelowych.

Aby uzyskać więcej informacji, zobacz Bloki komunikatów asynchronicznych.

Hierarchia dziedziczenia

ISource

ITarget

source_block

propagator_block

overwrite_buffer

Wymagania

Nagłówek: agents.h

Przestrzeń nazw: concurrency

Zobacz też

Informacje

concurrency — Przestrzeń nazwy

unbounded_buffer — Klasa

single_assignment — Klasa