Sdílet prostřednictvím


source_block – třída

Třída source_block je abstraktní základní třídou pro bloky, které jsou pouze zdrojové.Tato třída poskytuje základní funkčnost správy spojování a také běžnou kontrolu chyb.

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

Parametry

  • _TargetLinkRegistry
    Propojení registru pro hospodářství cílové odkazy.

  • _MessageProcessorType
    Typ procesoru pro zpracování zprávy.

Členy

Veřejné definice Typedef

Název

Description

target_iterator

Iterační procházet připojené cíle.

Veřejné konstruktory

Název

Description

source_block::source_block – konstruktor

Sestavte objekt source_block.

source_block::~source_block – destruktor

Odstraní objekt source_block.

Veřejné metody

Název

Description

source_block::accept – metoda

Přijímá zprávy, který nabídl to source_block objekt, převedení vlastnictví k volajícímu.

source_block::acquire_ref – metoda

Získá počet odkazů na to source_block objekt, chcete-li zabránit odstranění.

source_block::consume – metoda

Zpracovává zprávy dříve nabízené to source_block objektu a úspěšně vyhrazen cíle, převod vlastnictví k volajícímu.

source_block::link_target – metoda

Cíl bloku odkazuje na to source_block objektu.

source_block::release – metoda

Vydává předchozí úspěšné zprávy rezervace.

source_block::release_ref – metoda

Počet odkazů v tomto vydání source_block objektu.

source_block::reserve – metoda

Rezervy zprávu dříve nabízené to source_block objektu.

source_block::unlink_target – metoda

Zruší propojení cílového bloku z toho source_block objektu.

source_block::unlink_targets – metoda

Zruší všechny bloky cíl z tohoto propojení source_block objektu. (Přepisuje ISource::unlink_targets.)

Chráněné metody

Název

Description

source_block::accept_message – metoda

Při přepsání v odvozené třídě, přijímá hlášení nabízené zdrojem.Bloků zprávy musí přepsat tuto metodu k ověření, _MsgId a vrátí zprávu.

source_block::async_send – metoda

Asynchronní fronty zpráv a spustí úloha šíření, pokud to nebylo provedeno již

source_block::consume_message – metoda

Při přepsání v odvozené třídě, zpracovává zprávy, která byla dříve vyhrazena.

source_block::enable_batched_processing – metoda

Umožňuje zpracování pro tento blok v dávce.

source_block::initialize_source – metoda

Inicializuje message_propagator v tomto source_block.

source_block::link_target_notification – metoda

Zpětné volání, které upozorní, že nový cíl spojován s tím source_block objektu.

source_block::process_input_messages – metoda

Postup pro zadávání zpráv.To je užitečné pouze pro Šiřitel bloků, které jsou odvozeny z source_block

source_block::propagate_output_messages – metoda

Šíření zpráv do cíle.

source_block::propagate_to_any_targets – metoda

Při přepsání v odvozené třídě, šíří některé nebo všechny propojené cíle dané zprávy.Je to rutinní šíření hlavních bloků zprávy.

source_block::release_message – metoda

Při přepsání v odvozené třídě uvolní předchozí zprávy rezervace.

source_block::remove_targets – metoda

Odebere všechny odkazy na cíl pro tento zdroj blok.To by měla být volána z destruktoru.

source_block::reserve_message – metoda

Při přepsání v odvozené třídě, vyhrazuje si dříve nabízené tuto zprávu source_block objektu.

source_block::resume_propagation – metoda

Při přepsání v odvozené třídě, pokračuje v šíření po rezervaci vydala.

source_block::sync_send – metoda

Synchronně fronty zpráv a spustí úloha šíření, pokud to dosud neučinili.

source_block::unlink_target_notification – metoda

Zpětné volání upozornění cíl byla odpojena od tohoto source_block objektu.

source_block::wait_for_outstanding_async_sends – metoda

Čeká všechny asynchronní šíření dokončete.Toto specifické Šiřitel spin čekání je používán destruktory bloků zprávy a ujistěte se, že všechny asynchronní šíření mají čas na dokončení před zničením bloku.

Poznámky

Bloků zprávy by měla být odvozena z tohoto bloku využít odkaz Správa a synchronizace od této třídy.

Hierarchie dědičnosti

ISource

source_block

Požadavky

Záhlaví: agents.h

Obor názvů: souběžnost

Viz také

Referenční dokumentace

concurrency – obor názvů

ISource – třída