Funzione receive
Un'implementazione di ricezione generale, che consente a un contesto di attendere i dati esattamente da un'origine e di filtrare i valori accettati.
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
);
Parametri
_Type
Tipo di payload._Src
Puntatore o riferimento all'origine da cui sono previsti i dati._Timeout
Tempo massimo, in millisecondi, necessario al metodo per i dati._Filter_proc
Una funzione del filtro che determina se devono essere accettati i messaggi.
Valore restituito
Valore derivato dalla fonte, di tipo di payload.
Note
Se il parametro _Timeout dispone di un valore diverso dalla costante COOPERATIVE_TIMEOUT_INFINITE, l'eccezione operation_timed_out viene generata se la quantità specificata di tempo scade prima che venga ricevuto un messaggio.Se si desidera un timeout di lunghezza zero, è necessario utilizzare la funzione try_receive, anziché chiamare receive con un timeout di 0 (zero), poiché è più efficiente e non genera eccezioni sui timeout.
Per ulteriori informazioni, vedere Funzioni di passaggio dei messaggi.
Requisiti
Header: agents.h
Concorrenza diSpazio dei nomi: