source_block::reserve 方法

保留此 source_block 对象之前提供的消息。

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

参数

  • _MsgId
    所提供的 message 对象的 runtime_object_identity

  • _PTarget
    调用 reserve 方法的目标块的指针。

返回值

如果已成功保留该消息,则为 true;否则为 false。 保留也可出于多种原因失败,包括:消息已保留或接受被另一个目标,则源可以拒绝保留,等等。

备注

该方法引发 invalid_argument 异常,前提是参数 _PTarget 为 NULL

在调用 reserve 之后,如果成功,则必须调用 consumerelease 以分别获取或放弃消息的所有权。

要求

**标头:**agents.h

命名空间: 并发

请参见

参考

source_block 类