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
네임스페이스: 동시성