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


Метод source_block::consume

Потребляет сообщение, ранее предложенное данным объектом source_block и успешно зарезервированное целевым объектом, передавая владение вызывающему объекту.

virtual message<_Target_type> * consume(
   runtime_object_identity _MsgId,
   _Inout_ ITarget<_Target_type> * _PTarget
);

Параметры

  • _MsgId
    runtime_object_identity зарезервированного объекта message.

  • _PTarget
    Указатель на целевой блок, вызывающий метод consume.

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

Указатель на объект message, который теперь принадлежит вызывающей стороне.

Заметки

Метод создает исключение invalid_argument, если параметр _PTarget имеет значение NULL.

Метод выдает исключение bad_target, если параметр _PTarget не представляет целевой объект, который вызвал reserve.

Метод consume аналогичен методу accept, но ему всегда должен предшествовать вызов к методу reserve, вернувший true.

Требования

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

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

См. также

Ссылки

Класс source_block