Поделиться через


Функция try_receive

Реализация общей попытки получения, позволяющая контексту искать данные из ровно одного источника и фильтровать значения, которые принимаются. Если данные не готовы, метод вернет значение false.

template <
   class _Type
>
bool try_receive(
   ISource<_Type> * _Src,
   _Type & _value
);
template <
   class _Type
>
bool try_receive(
   ISource<_Type> * _Src,
   _Type & _value,
   typename ITarget<_Type>::filter_method const& _Filter_proc
);
template <
   class _Type
>
bool try_receive(
   ISource<_Type> & _Src,
   _Type & _value
);
template <
   class _Type
>
bool try_receive(
   ISource<_Type> & _Src,
   _Type & _value,
   typename ITarget<_Type>::filter_method const& _Filter_proc
);

Параметры

  • _Type
    Тип полезных данных.

  • _Src
    Указатель или ссылка на источник, из которого ожидаются данные.

  • _value
    Ссылка на место, в которое будет помещен результат.

  • _Filter_proc
    Функция фильтра, которая определяет, следует ли принять сообщения.

Возвращаемое значение

Значение bool, указывающее, размещена ли полезная нагрузка в _value.

Заметки

Дополнительные сведения см. в разделе Функции передачи сообщений.

Требования

Заголовок: agents.h

Пространство имен: Concurrency

См. также

Ссылки

Пространство имен Concurrency

Функция receive

Функция send

Функция asend