alma işlevi
Genel uygulama, tek bir kaynaktan gelen verileri bekleyin ve kabul edilen değerler için filtre bir içerik sağlayarak alırsınız.
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
);
Parametreler
_Type
Yük türü._Src
İşaretçi veya kendisinden beklenen veri kaynağına başvuru._Timeout
Kendisi için gereken yöntemi en uzun süreyi milisaniye cinsinden veri._Filter_proc
İletileri kabul olup olmadığını belirleyen bir filtre işlevi.
Dönüş Değeri
Yük türü, kaynak değeri.
Notlar
Parametre _Timeout dışında sabit bir değere sahip COOPERATIVE_TIMEOUT_INFINITE, özel durum operation_timed_out bir ileti aldı önce belirtilen sürenin sona ererse atılır. Sıfır uzunluk zaman aşımı istiyorsanız kullanmalısınız try_receive arama karşıt olarak işlev receive zaman aşımı süresi ile 0 (sıfır), daha verimli ve özel durumlar zaman aşımlarını durum oluşturmaz.
Daha fazla bilgi için bkz. İleti gönderme fonksiyonları.
Gereksinimler
Başlık: agents.h
Namespace: eşzamanlılık