Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Třída ITarget je rozhraní pro všechny cílové bloky. Cílové bloky zpracovávají zprávy nabízené bloky ISource.
Syntaxe
template<class T>
class ITarget;
Parametry
T
Typ dat zátěže ve zprávách přijatých cílovým blokem.
Členové
Veřejné typové definice
| Název | Popis |
|---|---|
filter_method |
Podpis jakékoli metody používané blokem, která vrací bool hodnotu k určení, zda má být nabízená zpráva přijata. |
type |
Alias typu pro T. |
Veřejné konstruktory
| Název | Popis |
|---|---|
| ~ITarget – destruktor |
ITarget Zničí objekt. |
Veřejné metody
| Název | Popis |
|---|---|
| propagovat | Při přesměrování v odvozené třídě asynchronně předává zprávu ze zdrojového bloku do cílového bloku. |
| poslat | Při přepsání v odvozené třídě synchronně předá zprávu cílovému bloku. |
| podporuje_anonymní_zdroj | Při přepsání v odvozené třídě vrátí hodnotu true nebo false v závislosti na tom, zda blok zprávy přijímá zprávy nabízené zdrojem, který není propojený s ním. Pokud přepsaná metoda vrátí true, cílový objekt nemůže odložit nabízenou zprávu, protože spotřeba odložené zprávy později vyžaduje, aby byl zdroj identifikován v registru zdrojového propojení. |
Chráněné metody
| Název | Popis |
|---|---|
| link_source | Když je přepsána v odvozené třídě, propojuje zadaný zdrojový blok s tímto ITarget blokem. |
| unlink_source | Při přepsání v odvozené třídě zruší propojení zadaného zdrojového bloku z tohoto ITarget bloku. |
| odpojit_zdroje | Při přepsání v odvozené třídě zruší propojení všech zdrojových bloků z tohoto ITarget bloku. |
Poznámky
Další informace naleznete v tématu Asynchronní bloky zpráv.
Hierarchie dědičnosti
ITarget
Požadavky
Hlavička: agents.h
Obor názvů: souběžnost
~ITarget
ITarget Zničí objekt.
virtual ~ITarget();
link_source
Při přepsání v odvozené třídě propojí tento ITarget blok se zadaným zdrojovým blokem.
virtual void link_source(_Inout_ ISource<T>* _PSource) = 0;
Parametry
_PSource
Blok ISource , který je propojený s tímto ITarget blokem.
Poznámky
Tato funkce by neměla být volána přímo na ITarget blok. Bloky by měly být propojeny pomocí link_target metody na ISource blocích, které vyvolá metodu link_source pro odpovídající cíl.
propagovat
Při přesměrování v odvozené třídě asynchronně předává zprávu ze zdrojového bloku do cílového bloku.
virtual message_status propagate(
_Inout_opt_ message<T>* _PMessage,
_Inout_opt_ ISource<T>* _PSource) = 0;
Parametry
_PMessage
Ukazatel na message objekt.
_PSource
Ukazatel na zdrojový blok nabízející zprávu.
Návratová hodnota
Message_status indikace toho, co se cíl rozhodl udělat se zprávou.
Poznámky
Metoda vyvolá výjimku invalid_argument, pokud je parametr _PMessage nebo _PSourceNULL.
odeslat
Při přepsání v odvozené třídě synchronně předá zprávu cílovému bloku.
virtual message_status send(
_Inout_ message<T>* _PMessage,
_Inout_ ISource<T>* _PSource) = 0;
Parametry
_PMessage
Ukazatel na message objekt.
_PSource
Ukazatel na zdrojový blok nabízející zprávu.
Návratová hodnota
Message_status indikace toho, co se cíl rozhodl udělat se zprávou.
Poznámky
Metoda vyvolá výjimku invalid_argument, pokud je parametr _PMessage nebo _PSourceNULL.
send Použití metody mimo inicializace zpráv a šíření zpráv v síti je nebezpečné a může vést k zablokování.
Když send se vrátí, zpráva již byla přijata a přenesena do cílového bloku nebo byla odmítnuta cílem.
podporuje_anonymní_zdroj
Při přepsání v odvozené třídě vrátí hodnotu true nebo false v závislosti na tom, zda blok zprávy přijímá zprávy nabízené zdrojem, který není propojený s ním. Pokud přepsaná metoda vrátí true, cíl nemůže odložit nabízenou zprávu, protože spotřeba odložené zprávy v pozdější době vyžaduje, aby byl zdroj identifikován v jeho registru zdrojového propojení.
virtual bool supports_anonymous_source();
Návratová hodnota
true pokud blok může přijmout zprávu ze zdroje, který není spárován s ním false v opačném případě.
unlink_source
Při přepsání v odvozené třídě zruší propojení zadaného zdrojového bloku z tohoto ITarget bloku.
virtual void unlink_source(_Inout_ ISource<T>* _PSource) = 0;
Parametry
_PSource
Blok ISource se odpojuje od tohoto ITarget bloku.
Poznámky
Tato funkce by neměla být volána přímo na ITarget bloku. Bloky by měly být odpojeny pomocí metod unlink_target nebo unlink_targets na blocích ISource, což vyvolá metodu unlink_source na odpovídajícím cíli.
unlink_sources
Při přepsání v odvozené třídě zruší propojení všech zdrojových bloků z tohoto ITarget bloku.
virtual void unlink_sources() = 0;