source_block::reserve Method

Reserves a message previously offered by this source_block object.

virtual bool reserve(
   runtime_object_identity _MsgId,
   ITarget<_Target_type> * _PTarget
);

Parameters

  • _MsgId
    The runtime_object_identity of the offered message object.

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

Return Value

true if the message was successfully reserved, false otherwise. Reservations can fail for many reasons, including: the message was already reserved or accepted by another target, the source could deny reservations, etc.

Remarks

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

After you call reserve, if it succeeds, you must call either consume or release in order to take or give up possession of the message, respectively.

Requirements

Header: agents.h

Namespace: Concurrency

See Also

Reference

source_block Class