Previous Table of Contents Next


22.2 Messaging Quality of Service

   The Messaging module contains the IDL that the programmer uses to define Qualities of Service specific to CORBA messaging.

   Note – Except where defaults are noted, this specification does not state required default values for the following Qualities of Service. Application code must explicitly set its ORB-level Quality of Service to ensure portability across ORB products.

   module Messaging {

   typedef short RebindMode;const RebindMode TRANSPARENT = 0;const RebindMode NO_REBIND = 1;

   22-2 Common Object Request Broker Architecture (CORBA), v3.0.3 March 2004

   const RebindMode NO_RECONNECT = 2;

   typedef short SyncScope;const SyncScope SYNC_NONE = 0;const SyncScope SYNC_WITH_TRANSPORT = 1;const SyncScope SYNC_WITH_SERVER = 2;const SyncScope SYNC_WITH_TARGET = 3;

   typedef short RoutingType;const RoutingType ROUTE_NONE = 0;const RoutingType ROUTE_FORWARD = 1;const RoutingType ROUTE_STORE_AND_FORWARD =2;

   typedef short Priority;

   typedef unsigned short Ordering;const Ordering ORDER_ANY = 0x01;const Ordering ORDER_TEMPORAL = 0x02;const Ordering ORDER_PRIORITY = 0x04;const Ordering ORDER_DEADLINE = 0x08;

   // Rebind Policy (default = TRANSPARENT)const CORBA::PolicyType REBIND_POLICY_TYPE = 23;local interface RebindPolicy : CORBA::Policy {

   readonly attribute RebindMode rebind_mode; };

   // Synchronization Policy (default = SYNC_WITH_TRANSPORT)

   const CORBA::PolicyType SYNC_SCOPE_POLICY_TYPE = 24; local interface SyncScopePolicy : CORBA::Policy { readonly attribute SyncScope synchronization;

   };

   // Priority Policiesconst CORBA::PolicyType REQUEST_PRIORITY_POLICY_TYPE = 25;struct PriorityRange {

   Priority min; Priority max; };

   local interface RequestPriorityPolicy : CORBA::Policy { readonly attribute PriorityRange priority_range; };

   const CORBA::PolicyType REPLY_PRIORITY_POLICY_TYPE = 26; local interface ReplyPriorityPolicy : CORBA::Policy { readonly attribute PriorityRange priority_range; };

   // Timeout Policies const CORBA::PolicyType

   REQUEST_START_TIME_POLICY_TYPE = 27; local interface RequestStartTimePolicy : CORBA::Policy {

   readonly attribute TimeBase::UtcT start_time; }; const CORBA::PolicyType REQUEST_END_TIME_POLICY_TYPE = 28; local interface RequestEndTimePolicy : CORBA::Policy {

   readonly attribute TimeBase::UtcT end_time;};

   const CORBA::PolicyType REPLY_START_TIME_POLICY_TYPE = 29; local interface ReplyStartTimePolicy : CORBA::Policy {

   readonly attribute TimeBase::UtcT start_time; }; const CORBA::PolicyType REPLY_END_TIME_POLICY_TYPE = 30; local interface ReplyEndTimePolicy : CORBA::Policy {

   readonly attribute TimeBase::UtcT end_time;};

   const CORBA::PolicyType RELATIVE_REQ_TIMEOUT_POLICY_TYPE = 31; local interface RelativeRequestTimeoutPolicy : CORBA::Policy { readonly attribute TimeBase::TimeT relative_expiry; };

   const CORBA::PolicyType RELATIVE_RT_TIMEOUT_POLICY_TYPE = 32; local interface RelativeRoundtripTimeoutPolicy : CORBA::Policy { readonly attribute TimeBase::TimeT relative_expiry; };

   const CORBA::PolicyType ROUTING_POLICY_TYPE = 33;

   struct RoutingTypeRange {RoutingType min;RoutingType max;

   };local interface RoutingPolicy : CORBA::Policy {readonly attribute RoutingTypeRange routing_range;};

   const CORBA::PolicyType MAX_HOPS_POLICY_TYPE = 34;local interface MaxHopsPolicy : CORBA::Policy {readonly attribute unsigned short max_hops;};

   // Router Delivery-ordering Policy (default = ORDER_TEMPORAL) const CORBA::PolicyType QUEUE_ORDER_POLICY_TYPE = 35; local interface QueueOrderPolicy : CORBA::Policy {

   readonly attribute Ordering allowed_orders; }; };