Previous Table of Contents Next


22.2.4 Request and Reply Timeout


   This specification describes the lifetime of requests and replies in terms of the structured type from the CORBA Time Service Specification. This describes time as a 64-bit value, which is the number of 100 nano-seconds from 15 October 1582 00:00, along with inaccuracy and time zone information.

   22.2.4.1 interface RequestStartTimePolicy

   This interface is a local object derived from CORBA::Policy. It is used to indicate the valid start time after which a request may be delivered to its target, and is applied to both synchronous and asynchronous invocations. When instances of RequestStartTimePolicy are created, a value of type TimeBase::UtcT is passed to CORBA::ORB::create_policy. This policy is only applicable as a client-side override. When an instance of RequestStartTimePolicy is propagated within a PolicyValue in an INVOCATION_POLICIES Service Context, the ptype has value REQUEST_START_TIME_POLICY_TYPE and the pvalue is a CDR encapsulation containing a TimeBase::UtcT.

   22.2.4.2 interface RequestEndTimePolicy

   This interface is a local object derived from CORBA::Policy. It is used to indicate the time after which a request may no longer be delivered to its target. This policy is applied to both synchronous and asynchronous invocations. When instances of RequestEndTimePolicy are created, a value of type TimeBase::UtcT is passed to CORBA::ORB::create_policy. This policy is only applicable as a client-side override. When an instance of RequestEndTimePolicy is propagated within a PolicyValue in an INVOCATION_POLICIES Service Context, the ptype has value REQUEST_END_TIME_POLICY_TYPE and the pvalue is a CDR encapsulation containing a TimeBase::UtcT.

   22.2.4.3 interface ReplyStartTimePolicy

   This interface is a local object derived from CORBA::Policy. It is used to indicate the valid start time after which a reply may be delivered to the client. This policy is applied to both synchronous and asynchronous invocations. When instances of ReplyStartTimePolicy are created, a value of type TimeBase::UtcT is passed to CORBA::ORB::create_policy. This policy is only applicable as a client-side override. When an instance of ReplyStartTimePolicy is propagated within a PolicyValue in an INVOCATION_POLICIES Service Context, the ptype has value REPLY_START_TIME_POLICY_TYPE and the pvalue is a CDR encapsulation containing a TimeBase::UtcT.

   22.2.4.4 interface ReplyEndTimePolicy

   This interface is a local object derived from CORBA::Policy. It is used to indicate the time after which a reply may no longer be obtained or returned to the client. This policy is applied to both synchronous and asynchronous invocations. When instances of ReplyEndTimePolicy are created, a value of type TimeBase::UtcT is passed to CORBA::ORB::create_policy. This policy is only applicable as a client-side override. When an instance of ReplyEndTimePolicy is propagated within a PolicyValue in an INVOCATION_POLICIES Service Context, the ptype has value REPLY_END_TIME_POLICY_TYPE and the pvalue is a CDR encapsulation containing a TimeBase::UtcT.

   22.2.4.5 interface RelativeRequestTimeoutPolicy

   This interface is a local object derived from CORBA::Policy. It is used to indicate the relative amount of time for which a Request may be delivered. After this amount of time the Request is cancelled. This policy is applied to both synchronous and asynchronous invocations. If asynchronous invocation is used, this policy only limits the amount of time during which the request may be processed. Assuming the request completes within the specified timeout, the reply will never be discarded due to timeout. When instances of RelativeRequestTimeoutPolicy are created, a value of type TimeBase::TimeT is passed to CORBA::ORB::create_policy. This policy is only applicable as a client-side override. When an instance of RelativeRequestTimeoutPolicy is propagated within a PolicyValue in an INVOCATION_POLICIES Service Context, the ptype has value REQUEST_END_TIME_POLICY_TYPE and the pvalue is a CDR encapsulation containing the relative_expiry converted into a TimeBase::UtcT end time (as in the case of RequestEndTimePolicy).

   22.2.4.6 interface RelativeRoundtripTimeoutPolicy

   This interface is a local object derived from CORBA::Policy. It is used to indicate the relative amount of time for which a Request or its corresponding Reply may be delivered. After this amount of time, the Request is cancelled (if a response has not yet been received from the target) or the Reply is discarded (if the Request had already been delivered and a Reply returned from the target). This policy is applied to both synchronous and asynchronous invocations.

   When instances of RelativeRoundtripTimeoutPolicy are created, a value of type TimeBase::TimeT is passed to CORBA::ORB::create_policy. This policy is only applicable as a client-side override. When an instance of RelativeRoundtripTimeoutPolicy is propagated within a PolicyValue in an INVOCATION_POLICIES Service Context, the ptype has value REPLY_END_TIME_POLICY_TYPE and the pvalue is a CDR encapsulation containing the relative_expiry converted into a TimeBase::UtcT end time (as in the case of ReplyEndTimePolicy).