Udostępnij za pośrednictwem


source_block — Klasa

Klasa source_block to abstrakcyjna klasa bazowa dla bloków źródłowych.Klasa dostarcza podstawową funkcjonalność zarządzania połączeniem jak również sprawdzanie popularnych błędów.

template<
   class _TargetLinkRegistry,
   class _MessageProcessorType = ordered_message_processor<typename _TargetLinkRegistry::type::type>
>
class source_block : public ISource<typename _TargetLinkRegistry::type::type>;

Parametry

  • _TargetLinkRegistry
    Łącze rejestru używanego do gospodarstwa docelowego łącza.

  • _MessageProcessorType
    Typ procesora dla przetwarzania wiadomości.

Elementy członkowskie

Publiczne definicje typów

Nazwa

Opis

target_iterator

Sterująca zaprezentuje połączonych obiektów docelowych.

Konstruktory publiczne

Nazwa

Opis

source_block::source_block — Konstruktor

Buduje source_block obiektu.

source_block::~source_block — Destruktor

Niszczy obiekt source_block.

Metody publiczne

Nazwa

Opis

source_block::accept — Metoda

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

source_block::acquire_ref — Metoda

Nabywa licznika odwołań w tej sprawie source_block obiektu, aby uniemożliwić usunięcie.

source_block::consume — Metoda

Pobiera wiadomość oferowanych wcześniej przez to source_block object i pomyślnie zarezerwowany przez obiekt docelowy, przenosząca prawo własności do obiektu wywołującego.

source_block::link_target — Metoda

Łącza do tego bloku docelowego source_block obiektu.

source_block::release — Metoda

Zwalnia Poprzednia rezerwacja wiadomości powiodło.

source_block::release_ref — Metoda

Zwalnia licznika odwołań w tej sprawie source_block obiektu.

source_block::reserve — Metoda

Zastrzega sobie wiadomości oferowanych wcześniej przez to source_block obiektu.

source_block::unlink_target — Metoda

Wstrzymuje bloku docelowego z tego source_block obiektu.

source_block::unlink_targets — Metoda

Odłączenie wszystkich bloków docelowej z tego source_block obiektu. (Zastępuje ISource::unlink_targets.)

Metody chronione

Nazwa

Opis

source_block::accept_message — Metoda

Po zastąpieniu w klasie pochodnej, akceptuje wiadomości oferowanych przez źródło.Bloki komunikatów należy zastąpić tę metodę, aby sprawdzić poprawność _MsgId i zwracania wiadomości.

source_block::async_send — Metoda

Asynchronicznie kolejkuje wiadomości i uruchamia zadanie propagacji, jeśli nie zostało to zrobione już

source_block::consume_message — Metoda

Po zastąpieniu w klasie pochodnej, zużywa wiadomość, która została wcześniej zarezerwowane.

source_block::enable_batched_processing — Metoda

Włącza przetwarzany wsadowo przetwarzania dla tego bloku.

source_block::initialize_source — Metoda

Inicjuje message_propagator w ramach tego source_block.

source_block::link_target_notification — Metoda

Wywołania zwrotnego, który powiadamia, że nowy obiekt docelowy został powiązany z tym source_block obiektu.

source_block::process_input_messages — Metoda

Przetwarzanie komunikatów wejściowych.Ta opcja jest przydatna dla propagator bloków, które wynikają z source_block

source_block::propagate_output_messages — Metoda

Propagowanie wiadomości do elementów docelowych.

source_block::propagate_to_any_targets — Metoda

Po zastąpieniu w klasie pochodnej, propaguje danej wiadomości do dowolnej lub wszystkich połączonych obiektów docelowych.Jest to rutynowe głównego propagacji do bloków komunikatów.

source_block::release_message — Metoda

Po zastąpieniu w klasie pochodnej, zwalnia Poprzednia rezerwacja wiadomość.

source_block::remove_targets — Metoda

Usuwa wszystkie łącza miejsce docelowe dla tego bloku źródłowego.Powinno to być wywołana z destruktor.

source_block::reserve_message — Metoda

Po zastąpieniu w klasie pochodnej, zastrzega sobie wiadomości oferowanych wcześniej przez to source_block obiektu.

source_block::resume_propagation — Metoda

Po zastąpieniu w klasie pochodnej, wznawia działanie propagacji po zastrzeżenie zostało zwolnione.

source_block::sync_send — Metoda

Synchronicznie kolejkuje wiadomości i uruchamia zadanie propagacji, jeśli nie zostało to zrobione już.

source_block::unlink_target_notification — Metoda

Wywołania zwrotnego, który powiadamia, że cel zostało odłączone od tego source_block obiektu.

source_block::wait_for_outstanding_async_sends — Metoda

Czeka na wszystkich asynchronicznego propagacji do wykonania.To oczekiwania spin propagator specyficzne w destruktorów bloków komunikatów służy do upewnij się, że wszystkie propagacji asynchronicznego czasu na zakończenie przed zniszczeniem bloku.

Uwagi

Bloków komunikatów powinny pochodzić z tego bloku, aby skorzystać z łącza zarządzania i synchronizacji dostarczone przez tę klasę.

Hierarchia dziedziczenia

ISource

source_block

Wymagania

Nagłówek: agents.h

Przestrzeń nazw: concurrency

Zobacz też

Informacje

concurrency — Przestrzeń nazwy

ISource — Klasa