#include <RT_Policy_i.h>
Inheritance diagram for TAO_PriorityModelPolicy:
Public Member Functions | |
TAO_PriorityModelPolicy (RTCORBA::PriorityModel priority_model, RTCORBA::Priority server_priority) | |
Constructor. | |
TAO_PriorityModelPolicy (const TAO_PriorityModelPolicy &rhs) | |
Copy constructor. | |
RTCORBA::PriorityModel | get_priority_model (void) |
RTCORBA::PriorityModel | priority_model (void) |
RTCORBA::Priority | server_priority (void) |
CORBA::PolicyType | policy_type (void) |
CORBA::Policy_ptr | copy (void) |
void | destroy (void) |
CORBA::Boolean | _tao_encode (TAO_OutputCDR &out_cdr) |
This method writes a CDR representation of the object state. | |
CORBA::Boolean | _tao_decode (TAO_InputCDR &in_cdr) |
This method reads the object state from a CDR representation. | |
TAO_Cached_Policy_Type | _tao_cached_type (void) const |
TAO_Policy_Scope | _tao_scope (void) const |
Static Public Member Functions | |
static CORBA::Policy_ptr | create (const CORBA::Any &val) |
Protected Member Functions | |
virtual | ~TAO_PriorityModelPolicy (void) |
TAO_PriorityModelPolicy (void) | |
Private Attributes | |
RTCORBA::PriorityModel | priority_model_ |
Attributes. | |
RTCORBA::Priority | server_priority_ |
Friends | |
class | TAO_RT_PolicyFactory |
This policy controls how the priority at which a server handles requests from clients is determined.
Definition at line 48 of file RT_Policy_i.h.
TAO_BEGIN_VERSIONED_NAMESPACE_DECL TAO_PriorityModelPolicy::TAO_PriorityModelPolicy | ( | RTCORBA::PriorityModel | priority_model, | |
RTCORBA::Priority | server_priority | |||
) |
Constructor.
Definition at line 24 of file RT_Policy_i.cpp.
00027 : ::CORBA::Object () 00028 , ::CORBA::Policy () 00029 , RTCORBA::PriorityModelPolicy () 00030 , ::CORBA::LocalObject () 00031 , priority_model_ (priority_model) 00032 , server_priority_ (server_priority) 00033 { 00034 }
TAO_PriorityModelPolicy::TAO_PriorityModelPolicy | ( | const TAO_PriorityModelPolicy & | rhs | ) |
Copy constructor.
Definition at line 36 of file RT_Policy_i.cpp.
00037 : ::CORBA::Object () 00038 , ::CORBA::Policy () 00039 , RTCORBA::PriorityModelPolicy () 00040 , ::CORBA::LocalObject () 00041 , priority_model_ (rhs.priority_model_) 00042 , server_priority_ (rhs.server_priority_) 00043 { 00044 }
TAO_PriorityModelPolicy::~TAO_PriorityModelPolicy | ( | void | ) | [protected, virtual] |
Protected destructor to enforce proper memory management of this reference counted object.
Definition at line 52 of file RT_Policy_i.cpp.
TAO_PriorityModelPolicy::TAO_PriorityModelPolicy | ( | void | ) | [protected] |
Definition at line 46 of file RT_Policy_i.cpp.
00047 : priority_model_ (RTCORBA::SERVER_DECLARED), 00048 server_priority_ (0) 00049 { 00050 }
TAO_Cached_Policy_Type TAO_PriorityModelPolicy::_tao_cached_type | ( | void | ) | const |
Definition at line 125 of file RT_Policy_i.cpp.
References TAO_CACHED_POLICY_PRIORITY_MODEL.
00126 { 00127 return TAO_CACHED_POLICY_PRIORITY_MODEL; 00128 }
CORBA::Boolean TAO_PriorityModelPolicy::_tao_decode | ( | TAO_InputCDR & | in_cdr | ) |
This method reads the object state from a CDR representation.
Definition at line 119 of file RT_Policy_i.cpp.
References priority_model_, and server_priority_.
00120 { 00121 return ((in_cdr >> priority_model_) && (in_cdr >> server_priority_)); 00122 }
CORBA::Boolean TAO_PriorityModelPolicy::_tao_encode | ( | TAO_OutputCDR & | out_cdr | ) |
This method writes a CDR representation of the object state.
Definition at line 109 of file RT_Policy_i.cpp.
References priority_model_, and server_priority_.
00110 { 00111 // Note: the fields are encoded according to 00112 // the order specified in the RTCORBA 1.0 spec (ptc/99-05-03) 00113 // section 4.7.3. 00114 00115 return ((out_cdr << priority_model_) && (out_cdr << server_priority_)); 00116 }
TAO_Policy_Scope TAO_PriorityModelPolicy::_tao_scope | ( | void | ) | const |
Definition at line 131 of file RT_Policy_i.cpp.
References TAO_POLICY_ORB_SCOPE, and TAO_POLICY_POA_SCOPE.
00132 { 00133 // Note that this policy is propogated to the client even though 00134 // it is not specified here. The reason for this is that the 00135 // server priority field is set dynamically depending on the model 00136 // and the servant's priority. Therefore, it can't be simply 00137 // copied to the list of client exposed policies. 00138 return static_cast<TAO_Policy_Scope> (TAO_POLICY_ORB_SCOPE | 00139 TAO_POLICY_POA_SCOPE); 00140 }
CORBA::Policy_ptr TAO_PriorityModelPolicy::copy | ( | void | ) |
Definition at line 92 of file RT_Policy_i.cpp.
References ACE_NEW_THROW_EX, CORBA::COMPLETED_NO, and TAO::VMCID.
00093 { 00094 TAO_PriorityModelPolicy* tmp = 0; 00095 ACE_NEW_THROW_EX (tmp, 00096 TAO_PriorityModelPolicy (*this), 00097 CORBA::NO_MEMORY (TAO::VMCID, 00098 CORBA::COMPLETED_NO)); 00099 00100 return tmp; 00101 }
CORBA::Policy_ptr TAO_PriorityModelPolicy::create | ( | const CORBA::Any & | val | ) | [static] |
Helper method for the implementation of CORBA::ORB::create_policy.
Definition at line 57 of file RT_Policy_i.cpp.
References CORBA::BAD_POLICY_VALUE.
Referenced by TAO_RT_PolicyFactory::create_policy().
00058 { 00059 /* 00060 * @@ The following code should be changed once the OMG spec has 00061 * been fixed such that a RTCORBA::PriorityModelPolicy can be 00062 * created by using the ORB::create_policy interface. 00063 */ 00064 throw ::CORBA::PolicyError (CORBA::BAD_POLICY_VALUE); 00065 }
void TAO_PriorityModelPolicy::destroy | ( | void | ) |
RTCORBA::PriorityModel TAO_PriorityModelPolicy::get_priority_model | ( | void | ) |
Accessor for the <priority_model_> attribute. This method is used internally by the orb. This is a more efficient (non-virtual, no exception handling) relative of the idl interface implementation <priority_model> below.
Definition at line 68 of file RT_Policy_i.cpp.
References priority_model_.
Referenced by TAO_RT_Protocols_Hooks::add_rt_service_context_hook(), and TAO_RT_Protocols_Hooks::get_selector_hook().
00069 { 00070 return this->priority_model_; 00071 }
CORBA::PolicyType TAO_PriorityModelPolicy::policy_type | ( | void | ) |
RTCORBA::PriorityModel TAO_PriorityModelPolicy::priority_model | ( | void | ) |
Definition at line 74 of file RT_Policy_i.cpp.
References priority_model_.
00075 { 00076 return this->priority_model_; 00077 }
RTCORBA::Priority TAO_PriorityModelPolicy::server_priority | ( | void | ) |
Definition at line 80 of file RT_Policy_i.cpp.
References server_priority_.
Referenced by TAO_RT_Protocols_Hooks::get_selector_hook().
00081 { 00082 return this->server_priority_; 00083 }
friend class TAO_RT_PolicyFactory [friend] |
This constructor is used by TAO_RT_PolicyFactory when decoding policies from tagged components in an IOR.
Definition at line 102 of file RT_Policy_i.h.
RTCORBA::PriorityModel TAO_PriorityModelPolicy::priority_model_ [private] |
Attributes.
Definition at line 108 of file RT_Policy_i.h.
Referenced by _tao_decode(), _tao_encode(), get_priority_model(), and priority_model().
RTCORBA::Priority TAO_PriorityModelPolicy::server_priority_ [private] |
Definition at line 109 of file RT_Policy_i.h.
Referenced by _tao_decode(), _tao_encode(), and server_priority().