다음을 통해 공유


source_block::reserve 메서드

source_block 개체가 이전에 제공한 메시지를 예약합니다.

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

매개 변수

  • _MsgId
    제공되는 message 개체의 runtime_object_identity입니다.

  • _PTarget
    reserve 메서드를 호출하고 있는 대상 블록에 대한 포인터입니다.

반환 값

메시지를 성공적으로 예약했으면 true이고, 그렇지 않으면 false입니다. 여러 가지 이유로 예약이 실패할 수 있습니다. 이유로는 메시지가 이미 예약되었거나 다른 대상이 받았거나, 소스의 예약 거부 등이 있습니다.

설명

이 메서드는 _PTarget가 NULL인 경우 invalid_argument 예외를 throw합니다.

reserve를 호출한 후에 성공한 경우 메시지 소유권을 얻거나 포기하기 위해서는 각각 consume 또는 release를 호출해야 합니다.

요구 사항

헤더: agents.h

네임스페이스: 동시성

참고 항목

참조

source_block 클래스