Udostępnij za pośrednictwem


Klasa source_block

source_block Klasa jest abstrakcyjna klasa podstawowa dla bloków tylko do źródła.Klasa zawiera łącze podstawowe funkcje zarządzania, jak również jako wspólne kontrole błąd.

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 stosowaną dla gospodarstwa docelowego łącza.

  • _MessageProcessorType
    Typ procesora dla przetwarzania wiadomości.

Członkowie

Dd492847.collapse_all(pl-pl,VS.110).gifDefinicje typów publicznych

Nazwa

Opis

target_iterator

Iteratora zaprezentuje połączonych elementów docelowych.

Dd492847.collapse_all(pl-pl,VS.110).gifPubliczne konstruktory

Nazwa

Opis

Konstruktor source_block::source_block

Konstrukcje source_block obiektu.

source_block:: ~ source_block destruktor

Niszczy source_block obiektu.

Dd492847.collapse_all(pl-pl,VS.110).gifMetody publiczne

Nazwa

Opis

Metoda source_block::Accept

Akceptuje wiadomość, oferowany przez to source_block obiektu przeniesienia własności do obiektu wywołującego.

Metoda source_block::acquire_ref

Nabywa licznika odwołań w tym source_block obiekt, aby uniemożliwić usunięcie.

Metoda source_block::consume

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

Metoda source_block::link_target

Łączy bloku docelowego to source_block obiektu.

Metoda source_block::Release

Wydania poprzedniej rezerwacji pomyślne wiadomości.

Metoda source_block::release_ref

Zwalnia licznika odwołań w tym source_block obiektu.

Metoda source_block::Reserve

Rezerwy wiadomość wcześniej oferowanych przez to source_block obiektu.

Metoda source_block::unlink_target

Wstrzymuje bloku docelowego z tego source_block obiektu.

Metoda source_block::unlink_targets

Wstrzymuje wszystkie bloki docelowego z tego source_block obiektu.(Zastępuje ISource::unlink_targets.)

Dd492847.collapse_all(pl-pl,VS.110).gifMetody chronione

Nazwa

Opis

Metoda source_block::accept_message

Gdy zastąpiony 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 zwrócić komunikat.

Metoda source_block::async_send

Asynchronicznie kolejki do wiadomości i uruchamia zadanie propagacji, jeżeli nie zostało już dokonane

Metoda source_block::consume_message

Gdy zastąpiony w klasie pochodnej, używa komunikatu, który wcześniej został zarezerwowany.

Metoda source_block::enable_batched_processing

Umożliwia batched przetwarzania dla tego bloku.

Metoda source_block::initialize_source

Inicjuje message_propagator w ramach tego source_block.

Metoda source_block::link_target_notification

Wywołania zwrotnego powiadomienia połączone nowy cel tej source_block obiektu.

Metoda source_block::process_input_messages

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

Metoda source_block::propagate_output_messages

Propagowanie wiadomości do elementów docelowych.

Metoda source_block::propagate_to_any_targets

Gdy zastąpiony w klasie pochodnej, propaguje danej wiadomości do jednego lub wszystkich połączonych elementów docelowych.Jest to rutynowe propagacji głównego dla bloków komunikatów.

Metoda source_block::release_message

Zastąpiony w klasie pochodnej, zwolnienie poprzedniej rezerwacji wiadomości.

Metoda source_block::remove_targets

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

Metoda source_block::reserve_message

Gdy zastąpiony w klasie pochodnej, rezerwuje wiadomość wcześniej oferowanych przez to source_block obiektu.

Metoda source_block::resume_propagation

Gdy zastąpiony w klasie pochodnej, wznawia propagacji po zwolnieniu rezerwacji.

Metoda source_block::sync_send

Synchronicznie kolejki do wiadomości, a następnie uruchamia zadanie propagacji, jeżeli nie zostało już dokonane.

Metoda source_block::unlink_target_notification

Wywołania zwrotnego powiadomienia element docelowy został niepołączone z tego source_block obiektu.

Metoda source_block::wait_for_outstanding_async_sends

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

Uwagi

Bloki komunikatów powinny pochodzić od tego bloku, aby skorzystać z łącza Zarządzanie i synchronizacji dostarczone przez tę klasę.

Hierarchii dziedziczenia

ISource

source_block

Wymagania

Nagłówek: agents.h

Obszar nazw: współbieżności

Zobacz też

Informacje

Współbieżność obszaru nazw

Klasa ISource