receive – funkce
Obecné přijímat provedení, umožňující kontextu čekat na data z přesně jednoho zdroje a filtrovat hodnoty, které jsou přijaty.
template <
class _Type
>
_Type receive(
_Inout_ ISource<_Type> * _Src,
unsigned int _Timeout = COOPERATIVE_TIMEOUT_INFINITE
);
template <
class _Type
>
_Type receive(
_Inout_ ISource<_Type> * _Src,
typename ITarget<_Type>::filter_method const& _Filter_proc,
unsigned int _Timeout = COOPERATIVE_TIMEOUT_INFINITE
);
template <
class _Type
>
_Type receive(
ISource<_Type> &_Src,
unsigned int _Timeout = COOPERATIVE_TIMEOUT_INFINITE
);
template <
class _Type
>
_Type receive(
ISource<_Type> &_Src,
typename ITarget<_Type>::filter_method const& _Filter_proc,
unsigned int _Timeout = COOPERATIVE_TIMEOUT_INFINITE
);
Parametry
_Type
Typ datové části._Src
Ukazatel nebo odkaz na zdroj, ze kterého je očekávána data._Timeout
Maximální čas pro které by měly metody pro data v milisekundách._Filter_proc
Funkce filtru, která určuje, zda mají být přijímány zprávy.
Vrácená hodnota
Hodnota ze zdroje typu datové části.
Poznámky
Pokud parametr _Timeout má hodnotu než konstanta COOPERATIVE_TIMEOUT_INFINITE, výjimka operation_timed_out když specifikovaný čas vyprší přijata zpráva.Pokud chcete časový limit nulové délky, byste měli použít try_receive funkce, jako protiklad k volání receive s časový limit 0 (nula), je efektivnější a není vyvolávají výjimky časových limitů.
Další informace naleznete v tématu Funkce usnadnění.
Požadavky
Záhlaví: agents.h
Obor názvů: souběžnosti