source_block::consume Method

Consumes a message previously offered by this source_block object and successfully reserved by the target, transferring ownership to the caller.

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

Parameters

  • _MsgId
    The runtime_object_identity of the reserved message object.

  • _PTarget
    A pointer to the target block that is calling the consume method.

Return Value

A pointer to the message object that the caller now has ownership of.

Remarks

The method throws an invalid_argument exception if the parameter _PTarget is NULL.

The method throws a bad_target exception if the parameter _PTarget does not represent the target that called reserve.

The consume method is similar to accept, but must always be preceded by a call to reserve that returned true.

Requirements

Header: agents.h

Namespace: concurrency

See Also

Reference

source_block Class