diff options
Diffstat (limited to 'TAO/tao/RTCORBA.pidl')
-rw-r--r-- | TAO/tao/RTCORBA.pidl | 108 |
1 files changed, 48 insertions, 60 deletions
diff --git a/TAO/tao/RTCORBA.pidl b/TAO/tao/RTCORBA.pidl index 2fa76e95847..541eee6d551 100644 --- a/TAO/tao/RTCORBA.pidl +++ b/TAO/tao/RTCORBA.pidl @@ -11,17 +11,24 @@ // // = DESCRIPTION // -// The RTCORBA module specified in CORBA v2.4.2 Chapter 24 -// (February, 2001). +// The RTCORBA module specified in ptc/99-05-03 (Real-Time +// CORBA Joint Revised Submission May 28, 1999). // // Changes to the original OMG idl: -// 1. Two TAO-specific interfaces, UnixDomainProtocolProperties +// 1. All RT policies have been assigned PolicyType values +// from the range reserved for TAO. 0x54410002 through +// 0x54410007 are used for RT Policies. This is in effect +// until OMG will standardize PolicyType values (currently RT +// CORBA spec contains question marks instead of values). +// 2. All interfaces in RTCORBA module have been made <local>. +// Original idl defined most interfaces as local, but not +// all. It is unclear whether that was intentional or a +// result of sloppiness. Until the former is proved, the +// latter will be assumed and all interfaces made <local>. +// 3. Two TAO-specific interfaces, UnixDomainProtocolProperties // and SharedMemoryProtocolProperties, have been added to allow // configuration of TAO's UIOP and SHMEM pluggable protocols // through RTCORBA Protocol Policies. -// 2. TAO-specific support for named mutexes has been added. -// 3. Added RT_ORB::create_tcp_protocol_properties which seems -// to come and go from the formal specification, but is needed. // // This file was used to generate the code in // RTCORBA{C,S,S_T}.{h,i,cpp} The command used to generate code @@ -69,7 +76,6 @@ module RTCORBA // Threadpool types. typedef unsigned long ThreadpoolId; - struct ThreadpoolLane { Priority lane_priority; @@ -81,7 +87,7 @@ module RTCORBA // RT Policies. // Priority Model Policy. - const CORBA::PolicyType PRIORITY_MODEL_POLICY_TYPE = 40; + const CORBA::PolicyType PRIORITY_MODEL_POLICY_TYPE = 0x54410002; enum PriorityModel { CLIENT_PROPAGATED, @@ -90,52 +96,37 @@ module RTCORBA local interface PriorityModelPolicy : CORBA::Policy { - readonly attribute PriorityModel priority_model; - readonly attribute Priority server_priority; + readonly attribute PriorityModel priority_model; + readonly attribute Priority server_priority; }; // Threadpool Policy. - const CORBA::PolicyType THREADPOOL_POLICY_TYPE = 41; + const CORBA::PolicyType THREADPOOL_POLICY_TYPE = 0x54410003; local interface ThreadpoolPolicy : CORBA::Policy { - readonly attribute ThreadpoolId threadpool; - }; - - // Protocol Properties. - local interface ProtocolProperties {}; - - struct Protocol - { - IOP::ProfileId protocol_type; - ProtocolProperties orb_protocol_properties; - ProtocolProperties transport_protocol_properties; + readonly attribute ThreadpoolId threadpool; }; - typedef sequence <Protocol> ProtocolList; - - // Server Protocol Policy - const CORBA::PolicyType SERVER_PROTOCOL_POLICY_TYPE = 42; + // Private Connection Policy + const CORBA::PolicyType PRIVATE_CONNECTION_POLICY_TYPE = 0x54410006; + local interface PrivateConnectionPolicy : CORBA::Policy {}; - // Locality constrained interface - local interface ServerProtocolPolicy : CORBA::Policy + // PriorityBandedConnectionPolicy. + struct PriorityBand { - readonly attribute ProtocolList protocols; + Priority low; + Priority high; }; + typedef sequence <PriorityBand> PriorityBands; - // Client Protocol Policy - const CORBA::PolicyType CLIENT_PROTOCOL_POLICY_TYPE = 43; - - // Locality constrained interface - local interface ClientProtocolPolicy : CORBA::Policy + const CORBA::PolicyType PRIORITY_BANDED_CONNECTION_POLICY_TYPE = 0x54410007; + local interface PriorityBandedConnectionPolicy : CORBA::Policy { - readonly attribute ProtocolList protocols; + readonly attribute PriorityBands priority_bands; }; - // Private Connection Policy - const CORBA::PolicyType PRIVATE_CONNECTION_POLICY_TYPE = 44; - - // Locality constrained interface - local interface PrivateConnectionPolicy : CORBA::Policy {}; + // Protocol Properties. + local interface ProtocolProperties {}; local interface TCPProtocolProperties : ProtocolProperties { @@ -168,18 +159,26 @@ module RTCORBA // End of TAO-specific interfaces. - // PriorityBandedConnectionPolicy. - struct PriorityBand + struct Protocol { - Priority low; - Priority high; + IOP::ProfileId protocol_type; + ProtocolProperties orb_protocol_properties; + ProtocolProperties transport_protocol_properties; }; - typedef sequence <PriorityBand> PriorityBands; + typedef sequence <Protocol> ProtocolList; - const CORBA::PolicyType PRIORITY_BANDED_CONNECTION_POLICY_TYPE = 45; - local interface PriorityBandedConnectionPolicy : CORBA::Policy + // Server Protocol Policy + const CORBA::PolicyType SERVER_PROTOCOL_POLICY_TYPE = 0x54410004; + local interface ServerProtocolPolicy : CORBA::Policy { - readonly attribute PriorityBands priority_bands; + readonly attribute ProtocolList protocols; + }; + + // Client Protocol Policy + const CORBA::PolicyType CLIENT_PROTOCOL_POLICY_TYPE = 0x54410005; + local interface ClientProtocolPolicy : CORBA::Policy + { + readonly attribute ProtocolList protocols; }; // RT Current. @@ -204,7 +203,6 @@ module RTCORBA Mutex create_mutex (); void destroy_mutex (in Mutex the_mutex); - // TAO specific // Named Mutex creation/opening exception MutexNotFound {}; Mutex create_named_mutex (in string name, @@ -212,15 +210,6 @@ module RTCORBA Mutex open_named_mutex (in string name) raises (MutexNotFound); - // End TAO specific - - TCPProtocolProperties create_tcp_protocol_properties( - in long send_buffer_size, - in long recv_buffer_size, - in boolean keep_alive, - in boolean dont_route, - in boolean no_delay ); - // Threadpool creation/destruction. exception InvalidThreadpool {}; @@ -251,12 +240,11 @@ module RTCORBA PriorityBandedConnectionPolicy create_priority_banded_connection_policy (in PriorityBands priority_bands); + PrivateConnectionPolicy create_private_connection_policy (); ServerProtocolPolicy create_server_protocol_policy (in ProtocolList protocols); ClientProtocolPolicy create_client_protocol_policy (in ProtocolList protocols); - - PrivateConnectionPolicy create_private_connection_policy (); }; }; |