Udostępnij za pośrednictwem


Klasa propagator_block

propagator_block Klasa jest abstrakcyjna klasa podstawowa dla bloków komunikatów, które źródłowego i docelowego.Łączy funkcje obu source_block i target_block klasy.

template<
   class _TargetLinkRegistry,
   class _SourceLinkRegistry,
   class _MessageProcessorType = ordered_message_processor<typename _TargetLinkRegistry::type::type>
>
class propagator_block : public source_block<_TargetLinkRegistry, _MessageProcessorType>, public ITarget<typename _SourceLinkRegistry::type::source_type>;

Parametry

  • _TargetLinkRegistry
    Rejestr łącze stosowaną dla gospodarstwa docelowego łącza.

  • _SourceLinkRegistry
    Rejestr łącze stosowaną dla powiązania źródła gospodarstwa.

  • _MessageProcessorType
    Typ procesora dla przetwarzania wiadomości.

Członkowie

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

Nazwa

Opis

source_iterator

Typ iteratora dla source_link_manager to propagator_block.

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

Nazwa

Opis

Konstruktor propagator_block::propagator_block

Konstrukcje propagator_block obiektu.

propagator_block:: ~ propagator_block destruktor

Niszczy propagator_block obiektu.

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

Nazwa

Opis

Metoda propagator_block::Propagate

Asynchronicznie przekazuje wiadomość z bloku źródłowego do tego bloku docelowego.

Metoda propagator_block::Send

Inicjuje synchronicznie wiadomości do tego bloku.Wywołana ISource bloku.Po zakończeniu tej funkcji wiadomości już zostały propagowane w bloku.

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

Nazwa

Opis

Metoda propagator_block::decline_incoming_messages

Wskazuje bloku, nowe wiadomości powinna zostać odrzucona.

Metoda propagator_block::initialize_source_and_target

Inicjuje obiekt podstawowy.W szczególności message_processor obiektu musi być zainicjowany.

Metoda propagator_block::link_source

Łączy bloku określonego źródła to propagator_block obiektu.

Metoda propagator_block::process_input_messages

Przetwarzanie komunikatów wejściowych.Ta opcja jest przydatna dla propagator bloków, które wynikają z source_block (zastępuje source_block::process_input_messages.)

Metoda propagator_block::propagate_message

Gdy zastąpiony w klasie pochodnej, ta metoda asynchronicznie przekazuje wiadomość z ISource bloku do tego propagator_block obiektu.Jest on wywoływany przez propagate metodę, gdy bloku źródłowego.

Metoda propagator_block::register_filter

Rejestruje metodę filtr, który zostanie wywołany na każdego odebranego komunikatu.

Metoda propagator_block::remove_network_links

Usuwa wszystkie źródłowe i docelowe łącza sieciowe to propagator_block obiektu.

Metoda propagator_block::send_message

Gdy zastąpiony w klasie pochodnej, ta metoda synchronicznie przekazuje wiadomość z ISource bloku do tego propagator_block obiektu.Jest on wywoływany przez send metodę, gdy bloku źródłowego.

Metoda propagator_block::unlink_source

Wstrzymuje bloku określonego źródła z tego propagator_block obiektu.

Metoda propagator_block::unlink_sources

Wstrzymuje wszystkie bloki źródła z tego propagator_block obiektu.(Zastępuje ITarget::unlink_sources.)

Uwagi

Aby uniknąć wielokrotne dziedziczenie, propagator_block klasa dziedziczy z source_block klasy i ITarget klasy abstrakcyjne.Większość funkcjonalności w target_block klasy jest replikowana w tym miejscu.

Hierarchii dziedziczenia

ISource

ITarget

source_block

propagator_block

Wymagania

Nagłówek: agents.h

Obszar nazw: współbieżności

Zobacz też

Informacje

Współbieżność obszaru nazw

Klasa source_block

Klasa ITarget