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 využívají zprávy nabízené bloky ISource .
Syntaxe
template<class T>
class ITarget;
Parametry
T
Datový typ datové části v rámci zpráv přijatých cílovým blokem.
Členové
Veřejné definice typedef
| 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řepsání v odvozené třídě asynchronně předá zprávu ze zdrojového bloku do tohoto cílového bloku. |
| poslat | Při přepsání v odvozené třídě synchronně předá zprávu cílovému bloku. |
| supports_anonymous_source | 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 metoda přepsání vrátí true, cíl 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 | Při přepsání v odvozené třídě odkazuje zadaný zdrojový blok na tento ITarget blok. |
| unlink_source | Při přepsání v odvozené třídě zruší propojení zadaného zdrojového bloku z tohoto ITarget bloku. |
| unlink_sources | 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ě odkazuje zadaný zdrojový blok na tento ITarget blok.
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 bloku. 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řepsání v odvozené třídě asynchronně předá zprávu ze zdrojového bloku do tohoto 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 označení toho, co se cíl rozhodl se zprávou udělat.
Poznámky
Metoda vyvolá invalid_argument výjimku, pokud _PMessage je NULLparametr nebo _PSource .
poslat
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 označení toho, co se cíl rozhodl se zprávou udělat.
Poznámky
Metoda vyvolá invalid_argument výjimku, pokud _PMessage je NULLparametr nebo _PSource .
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.
supports_anonymous_source
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 metoda přepsání 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 sourse propojení.
virtual bool supports_anonymous_source();
Návratová hodnota
true pokud blok může přijmout zprávu ze zdroje, který není propojen s ním false jinak.
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 , který se od tohoto ITarget bloku odpojí.
Poznámky
Tato funkce by neměla být volána přímo na ITarget bloku. Bloky by měly být odpojeny pomocí unlink_target metod unlink_targets ISource v blocích, které vyvolá metodu unlink_source pro odpovídající cíl.
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;