/**
* The ClientFailoverSemanticsPolicy provides a means for application developers
* to explicitly control how and if failover occurs. This Policy will be effective
* in the context of any object reference.
*
* The four values of this Policy modify the client ORB behaviour as follws:
*
* - ORB_DEFAULT - The ORB behaviour is unmodified from its default.
* - BEST_EFFORT - This value of the Policy provides the client application
* with a guaranteed 'best effort' delivery attempt. Normal CORBA invocation
* semantics do not require that a compliant ORB must reinvoke requests on
* COMPLETED_NO retryable exception conditions or exhaust all available
* addresses in an IOR. Compliant client ORBs must provide the following
* behaviour under the influence of this Policy value: Each time a client ORB
* attempts to invoke a method, it must not abandon the invocation and raise
* an exception to the client application until it has tried to invoke the
* server using all of the alternative addresses in the IOR, or has received
* a non-failover condition, or the request duration has expired.
* - AT_LEAST_ONCE - This value behaves as BEST_EFFORT however retryable
* exception conditions with status COMPLETED_MAYBE must also be reinvoked.
* - AT_MOST_ONCE - This value behaves as AT_LEAST_ONCE but the client ORB
* must transmit an FTRequestServiceContext with the request.
*
*/
enum ClientFailoverSemanticsPolicyValue {
ORB_DEFAULT,
BEST_EFFORT,
AT_LEAST_ONCE,
AT_MOST_ONCE
};
local interface ClientFailoverSemanticsPolicy : CORBA::Policy {
readonly attribute ClientFailoverSemanticsPolicyValue value;
};