Funkcja odbioru
Ogólne otrzymywać realizacji, umożliwiając kontekstu, poczekaj, aż dane z dokładnie jednego źródła i filtrować wartości, które są akceptowane.
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 ładunku._Src
Wskaźnik lub odwołanie do źródła, z którego oczekuje danych._Timeout
Maksymalny czas dla którego metoda powinna danych (w milisekundach)._Filter_proc
Funkcja filtru, który określa, czy wiadomości powinny być akceptowane.
Wartość zwracana
Wartość ze źródła, typu ładunku.
Uwagi
Jeśli parametr _Timeout ma wartość inną niż stała COOPERATIVE_TIMEOUT_INFINITE, wyjątek operation_timed_out jest generowany, jeśli w określonym czasie wygaśnie, zanim wiadomość zostanie odebrana.Jeśli ma zerowy limit długości należy użyć try_receive w przeciwieństwie do wywołania funkcji receive z limit czasu równy 0 (zero), bardziej efektywne i nie generują wyjątki dla limitów czasu.
Aby uzyskać więcej informacji, zobacz Funkcji przekazywania wiadomości.
Wymagania
Nagłówek: agents.h
Obszar nazw: współbieżności