Udostępnij za pośrednictwem


unbounded_buffer — Klasa

Blok obsługi wiadomości unbounded_buffer to blok obsługi wiadomości o wielu elementach docelowych i źródłowych, uporządkowany propagator_block, który może przechowywać nieograniczonej liczby wiadomości.

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

unbounded_buffer::unbounded_buffer — Konstruktor

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

unbounded_buffer::~unbounded_buffer — Destruktor

Niszczy unbounded_buffer bloku obsługi wiadomości.

Metody publiczne

Nazwa

Opis

unbounded_buffer::dequeue — Metoda

Usuwa element z unbounded_buffer bloku obsługi wiadomości.

unbounded_buffer::enqueue — Metoda

Dodaje element do unbounded_buffer bloku obsługi wiadomości.

Metody chronione

Nazwa

Opis

unbounded_buffer::accept_message — Metoda

Akceptuje wiadomości, który był oferowany przez to unbounded_buffer bloku obsługi wiadomości, przenosząca prawo własności do obiektu wywołującego.

unbounded_buffer::consume_message — Metoda

Pobiera wiadomość oferowanych wcześniej przez unbounded_buffer wiadomości bloku i zarezerwowany przez obiekt docelowy, przenosząca prawo własności do obiektu wywołującego.

unbounded_buffer::link_target_notification — Metoda

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

unbounded_buffer::process_input_messages — Metoda

Miejsca message_PMessage w tym unbounded_buffer bloku obsługi wiadomości i próbuje zaoferować go do wszystkich połączonych obiektów docelowych.

unbounded_buffer::propagate_message — Metoda

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

unbounded_buffer::propagate_output_messages — Metoda

Miejsca message_PMessage w tym unbounded_buffer bloku obsługi wiadomości i próbuje zaoferować go do wszystkich połączonych obiektów docelowych. (Zastępuje source_block::propagate_output_messages.)

unbounded_buffer::release_message — Metoda

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

unbounded_buffer::reserve_message — Metoda

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

unbounded_buffer::resume_propagation — Metoda

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

unbounded_buffer::send_message — Metoda

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

unbounded_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

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

Hierarchia dziedziczenia

ISource

ITarget

source_block

propagator_block

unbounded_buffer

Wymagania

Nagłówek: agents.h

Przestrzeń nazw: concurrency

Zobacz też

Informacje

concurrency — Przestrzeń nazwy

overwrite_buffer — Klasa

single_assignment — Klasa