#include <params.h>
Collaboration diagram for TAO_ORB_Parameters:
Public Types | |
typedef ACE_Array_Map< ACE_CString, ACE_CString > | endpoints_map_type |
Public Member Functions | |
TAO_ORB_Parameters (void) | |
Constructor. | |
int | add_endpoints (const ACE_CString &lane, const ACE_CString &endpoints) |
void | get_endpoint_set (const ACE_CString &lane, TAO_EndpointSet &endpoint_set) |
CORBA::UShort | service_port (TAO::MCAST_SERVICEID service_id) const |
Set/Get the port of services locatable through multicast. | |
void | service_port (TAO::MCAST_SERVICEID service_id, CORBA::UShort port) |
const char * | mcast_discovery_endpoint (void) const |
void | mcast_discovery_endpoint (const char *mde) |
int | sock_rcvbuf_size (void) const |
Set/Get the size to be used for a socket's receive buffer. | |
void | sock_rcvbuf_size (int) |
int | sock_sndbuf_size (void) const |
Set/Get the size to be used for a socket's send buffer. | |
void | sock_sndbuf_size (int) |
int | nodelay (void) const |
Set/Get the status of whether to use TCP_NODELAY or not. | |
void | nodelay (int) |
int | sock_keepalive (void) |
Set/Get whether we should set SO_KEEPALIVE on the socket or not. | |
void | sock_keepalive (int) |
int | sock_dontroute (void) |
Set/Get whether we should set SO_DONTROUTE on the socket or not. | |
void | sock_dontroute (int) |
int | cdr_memcpy_tradeoff (void) const |
void | cdr_memcpy_tradeoff (int) |
int | use_dotted_decimal_addresses (void) const |
void | use_dotted_decimal_addresses (int) |
int | cache_incoming_by_dotted_decimal_address (void) const |
void | cache_incoming_by_dotted_decimal_address (int) |
int | linger (void) const |
The ORB will turn off SO_LINGER if this is zero. | |
void | linger (int) |
time_t | accept_error_delay (void) const |
void | accept_error_delay (time_t) |
char * | default_init_ref (void) const |
Set/Get the Init Reference of an arbitrary ObjectID. | |
void | default_init_ref (const char *default_init_ref) |
int | std_profile_components (void) const |
void | std_profile_components (int x) |
int | ace_sched_policy (void) const |
Scheduling policy. | |
void | ace_sched_policy (int x) |
long | sched_policy (void) const |
Scheduling policy flag. | |
void | sched_policy (long x) |
long | scope_policy (void) const |
Scheduling scope flag. | |
void | scope_policy (long x) |
long | thread_creation_flags (void) const |
Thread creation flags. | |
int | single_read_optimization (void) const |
Single read optimization. | |
void | single_read_optimization (int x) |
int | shared_profile (void) const |
Create shared profiles without priority. | |
void | shared_profile (int x) |
bool | use_parallel_connects (void) const |
void | use_parallel_connects (bool x) |
unsigned long | parallel_connect_delay (void) const |
void | parallel_connect_delay (unsigned long x) |
bool | disable_rt_collocation_resolver (void) const |
Mutators and accessors for rt_collocation_resolver. | |
void | disable_rt_collocation_resolver (bool) |
bool | preferred_interfaces (const char *s) |
const char * | preferred_interfaces (void) const |
void | enforce_pref_interfaces (bool p) |
bool | enforce_pref_interfaces (void) const |
void | negotiate_codesets (bool c) |
bool | negotiate_codesets (void) const |
void | ami_collication (bool opt) |
bool | ami_collication (void) const |
void | protocols_hooks_name (const char *s) |
const char * | protocols_hooks_name (void) const |
void | thread_lane_resources_manager_factory_name (const char *s) |
const char * | thread_lane_resources_manager_factory_name (void) const |
void | stub_factory_name (const char *s) |
const char * | stub_factory_name (void) const |
void | poa_factory_name (const char *s) |
const char * | poa_factory_name (void) const |
void | poa_factory_directive (const char *s) |
const char * | poa_factory_directive (void) const |
void | endpoint_selector_factory_name (const char *s) |
const char * | endpoint_selector_factory_name (void) const |
void | collocation_resolver_name (const char *s) |
const char * | collocation_resolver_name (void) const |
ACE_CDR::ULong | max_message_size (void) const |
void | max_message_size (ACE_CDR::ULong size) |
Private Member Functions | |
int | parse_and_add_endpoints (const ACE_CString &endpoints, TAO_EndpointSet &endpoint_set) |
Private Attributes | |
endpoints_map_type | endpoints_map_ |
Map of endpoints this server is willing to accept requests on. | |
CORBA::UShort | service_port_ [TAO_NO_OF_MCAST_SERVICES] |
Port numbers of the configured services. | |
CORBA::String_var | mcast_discovery_endpoint_ |
ACE_CString | default_init_ref_ |
List of comma separated prefixes from ORBDefaultInitRef. | |
int | sock_rcvbuf_size_ |
Size to be used for a socket's receive buffer. | |
int | sock_sndbuf_size_ |
Size to be used for a socket's send buffer. | |
int | nodelay_ |
1 if we're using TCP_NODELAY and 0 otherwise. | |
int | sock_keepalive_ |
1 if we're using SO_KEEPALIVE and 0 otherwise (default 0). | |
int | sock_dontroute_ |
1 if we're using SO_DONTROUTE and 0 otherwise (default 0). | |
int | cdr_memcpy_tradeoff_ |
ACE_CDR::ULong | max_message_size_ |
Maximum GIOP message size to be sent over a given transport. | |
int | use_dotted_decimal_addresses_ |
For selecting a address notation. | |
int | cache_incoming_by_dotted_decimal_address_ |
int | linger_ |
For setting the SO_LINGER option. | |
time_t | accept_error_delay_ |
For setting the accept retry delay. | |
int | std_profile_components_ |
If true then the standard OMG components are not generated. | |
int | ace_sched_policy_ |
Scheduling policy. | |
long | sched_policy_ |
Scheduling policy flag. | |
long | scope_policy_ |
Scheduling scope flag. | |
int | single_read_optimization_ |
Single read optimization. | |
int | shared_profile_ |
Shared Profile - Use the same profile for multiple endpoints. | |
int | use_parallel_connects_ |
unsigned long | parallel_connect_delay_ |
ACE_CString | pref_network_ |
Preferred network interfaces as a string. | |
bool | disable_rt_collocation_resolver_ |
Default collocation resolver. | |
bool | enforce_preferred_interfaces_ |
bool | negotiate_codesets_ |
Enable the use of codeset negotiation. | |
bool | ami_collication_ |
Do we make collocated ami calls. | |
ACE_CString | protocols_hooks_name_ |
ACE_CString | stub_factory_name_ |
ACE_CString | endpoint_selector_factory_name_ |
ACE_CString | thread_lane_resources_manager_factory_name_ |
ACE_CString | poa_factory_name_ |
ACE_CString | poa_factory_directive_ |
ACE_CString | collocation_resolver_name_ |
Definition at line 51 of file params.h.
TAO_BEGIN_VERSIONED_NAMESPACE_DECL TAO_ORB_Parameters::TAO_ORB_Parameters | ( | void | ) |
Constructor.
Definition at line 19 of file params.cpp.
References TAO_NO_OF_MCAST_SERVICES.
00020 : endpoints_map_ (10) 00021 , mcast_discovery_endpoint_ () 00022 , default_init_ref_ (TAO_DEFAULT_INIT_REFERENCE_INITIALIZER) 00023 , sock_rcvbuf_size_ (ACE_DEFAULT_MAX_SOCKET_BUFSIZ) 00024 , sock_sndbuf_size_ (ACE_DEFAULT_MAX_SOCKET_BUFSIZ) 00025 , nodelay_ (1) 00026 , sock_keepalive_ (0) 00027 , sock_dontroute_ (0) 00028 , cdr_memcpy_tradeoff_ (ACE_DEFAULT_CDR_MEMCPY_TRADEOFF) 00029 , max_message_size_ (0) // Disable outgoing GIOP fragments by default 00030 , use_dotted_decimal_addresses_ (0) 00031 , cache_incoming_by_dotted_decimal_address_ (0) 00032 , linger_ (-1) 00033 , accept_error_delay_ (0) 00034 , std_profile_components_ (1) 00035 , ace_sched_policy_ (ACE_SCHED_OTHER) 00036 , sched_policy_ (THR_SCHED_DEFAULT) 00037 , scope_policy_ (THR_SCOPE_PROCESS) 00038 , single_read_optimization_ (1) 00039 , shared_profile_ (0) 00040 , use_parallel_connects_ (false) 00041 , parallel_connect_delay_ (0) 00042 , pref_network_ () 00043 , disable_rt_collocation_resolver_ (false) 00044 , enforce_preferred_interfaces_ (false) 00045 #if defined (ACE_HAS_IPV6) 00046 , prefer_ipv6_interfaces_ (false) 00047 , connect_ipv6_only_ (false) 00048 , use_ipv6_link_local_ (false) 00049 #endif /* ACE_HAS_IPV6 */ 00050 , negotiate_codesets_ (true) 00051 , ami_collication_ (true) 00052 , protocols_hooks_name_ ("Protocols_Hooks") 00053 , stub_factory_name_ ("Default_Stub_Factory") 00054 , endpoint_selector_factory_name_ ("Default_Endpoint_Selector_Factory") 00055 , thread_lane_resources_manager_factory_name_ ("Default_Thread_Lane_Resources_Manager_Factory") 00056 , poa_factory_name_ ("TAO_Object_Adapter_Factory") 00057 , poa_factory_directive_ 00058 (ACE_TEXT_ALWAYS_CHAR 00059 (ACE_DYNAMIC_SERVICE_DIRECTIVE("TAO_Object_Adapter_Factory", 00060 "TAO_PortableServer", 00061 "_make_TAO_Object_Adapter_Factory", 00062 ""))) 00063 , collocation_resolver_name_ ("Default_Collocation_Resolver") 00064 { 00065 for (int i = 0; i != TAO_NO_OF_MCAST_SERVICES; ++i) 00066 { 00067 this->service_port_[i] = 0; 00068 } 00069 }
ACE_INLINE void TAO_ORB_Parameters::accept_error_delay | ( | time_t | ) |
Definition at line 99 of file params.inl.
References accept_error_delay_.
00100 { 00101 this->accept_error_delay_ = x; 00102 }
ACE_INLINE time_t TAO_ORB_Parameters::accept_error_delay | ( | void | ) | const |
The amount of time desired by the user to wait to accept connections after a particular type of accept() error.
Definition at line 93 of file params.inl.
References accept_error_delay_.
Referenced by TAO_ORB_Core::init().
00094 { 00095 return this->accept_error_delay_; 00096 }
ACE_INLINE void TAO_ORB_Parameters::ace_sched_policy | ( | int | x | ) |
Definition at line 197 of file params.inl.
References ace_sched_policy_.
00198 { 00199 this->ace_sched_policy_ = x; 00200 }
ACE_INLINE int TAO_ORB_Parameters::ace_sched_policy | ( | void | ) | const |
Scheduling policy.
Scheduling policy specified by the user through the -ORBSchedPolicy option. This value is typically used by functions like ACE_OS::thr_setprio() and ACE_Sched_Params::priority_min(). Legal values are ACE_SCHED_RR, ACE_SCHED_FIFO, and ACE_SCHED_OTHER.
Definition at line 191 of file params.inl.
References ace_sched_policy_.
00192 { 00193 return this->ace_sched_policy_; 00194 }
int TAO_ORB_Parameters::add_endpoints | ( | const ACE_CString & | lane, | |
const ACE_CString & | endpoints | |||
) |
Specifies the endpoints on which this server is willing to listen for requests.
Definition at line 93 of file params.cpp.
References ACE_String_Base< CHAR >::length(), parse_and_add_endpoints(), and TAO_EndpointSet.
Referenced by TAO_ORB_Core::init().
00095 { 00096 TAO_EndpointSet endpoint_set; 00097 00098 // Parse the additional endpoints. 00099 int const result = 00100 this->parse_and_add_endpoints (additional_endpoints, endpoint_set); 00101 00102 // Parse failure. 00103 if (result != 0) 00104 return result; 00105 00106 // Look for the lane in the endpoints map. 00107 // 00108 // Return reference to endpoints string corresponding to lane 00109 // string. If none, a default constructed string is inserted into 00110 // the map and returned. 00111 ACE_CString & existing_endpoints = this->endpoints_map_[lane]; 00112 00113 // Create the resulting endpoints string. 00114 if (existing_endpoints.length () != 0) 00115 { 00116 existing_endpoints += ";"; 00117 } 00118 00119 existing_endpoints += additional_endpoints; 00120 00121 return 0; 00122 }
ACE_INLINE bool TAO_ORB_Parameters::ami_collication | ( | void | ) | const |
Definition at line 308 of file params.inl.
References ami_collication_.
00309 { 00310 return this->ami_collication_; 00311 }
ACE_INLINE void TAO_ORB_Parameters::ami_collication | ( | bool | opt | ) |
Definition at line 314 of file params.inl.
References ami_collication_.
Referenced by TAO_ORB_Core::init().
00315 { 00316 this->ami_collication_ = x; 00317 }
ACE_INLINE void TAO_ORB_Parameters::cache_incoming_by_dotted_decimal_address | ( | int | ) |
Definition at line 74 of file params.inl.
References cache_incoming_by_dotted_decimal_address_.
00075 { 00076 this->cache_incoming_by_dotted_decimal_address_ = x; 00077 }
ACE_INLINE int TAO_ORB_Parameters::cache_incoming_by_dotted_decimal_address | ( | void | ) | const |
The ORB will cache incoming connections against the dotted decimal form of the peer's address
Definition at line 68 of file params.inl.
References cache_incoming_by_dotted_decimal_address_.
Referenced by TAO_ORB_Core::init().
00069 { 00070 return this->cache_incoming_by_dotted_decimal_address_; 00071 }
ACE_INLINE void TAO_ORB_Parameters::cdr_memcpy_tradeoff | ( | int | ) |
Definition at line 38 of file params.inl.
References cdr_memcpy_tradeoff_.
00039 { 00040 this->cdr_memcpy_tradeoff_ = x; 00041 }
ACE_INLINE int TAO_ORB_Parameters::cdr_memcpy_tradeoff | ( | void | ) | const |
Octet sequences are marshalled without doing any copies, we simply append a block to the CDR message block chain. When the octet sequence is small enough and there is room in the current message block it is more efficient just to copy the buffer.
Definition at line 32 of file params.inl.
References cdr_memcpy_tradeoff_.
Referenced by TAO_Profile::create_tagged_profile(), TAO_Profile::encode(), TAO_ORB_Core::init(), CORBA::ORB::object_to_string(), TAO_GIOP_Message_Base::process_request_message(), TAO_ServerRequest::send_cached_reply(), and TAO_ServerRequest::tao_send_reply_exception().
00033 { 00034 return this->cdr_memcpy_tradeoff_; 00035 }
ACE_INLINE const char * TAO_ORB_Parameters::collocation_resolver_name | ( | void | ) | const |
Definition at line 326 of file params.inl.
References ACE_String_Base< CHAR >::c_str(), and collocation_resolver_name_.
00327 { 00328 return this->collocation_resolver_name_.c_str (); 00329 }
ACE_INLINE void TAO_ORB_Parameters::collocation_resolver_name | ( | const char * | s | ) |
Definition at line 320 of file params.inl.
References collocation_resolver_name_.
00321 { 00322 this->collocation_resolver_name_ = s; 00323 }
ACE_INLINE void TAO_ORB_Parameters::default_init_ref | ( | const char * | default_init_ref | ) |
Definition at line 131 of file params.inl.
References default_init_ref_.
00132 { 00133 this->default_init_ref_ = default_init_ref; 00134 }
ACE_INLINE char * TAO_ORB_Parameters::default_init_ref | ( | void | ) | const |
Set/Get the Init Reference of an arbitrary ObjectID.
Definition at line 137 of file params.inl.
References CORBA::string_dup().
Referenced by TAO_ORB_Core::init(), TAO_ORB_Core::resolve_rir(), and CORBA::ORB::resolve_service().
00138 { 00139 return CORBA::string_dup (this->default_init_ref_.c_str ()); 00140 }
ACE_INLINE void TAO_ORB_Parameters::disable_rt_collocation_resolver | ( | bool | ) |
Definition at line 289 of file params.inl.
References disable_rt_collocation_resolver_.
00290 { 00291 this->disable_rt_collocation_resolver_ = x; 00292 }
ACE_INLINE bool TAO_ORB_Parameters::disable_rt_collocation_resolver | ( | void | ) | const |
Mutators and accessors for rt_collocation_resolver.
Definition at line 283 of file params.inl.
References disable_rt_collocation_resolver_.
Referenced by TAO_ORB_Core::init().
00284 { 00285 return this->disable_rt_collocation_resolver_; 00286 }
const char * TAO_ORB_Parameters::endpoint_selector_factory_name | ( | void | ) | const |
Definition at line 403 of file params.cpp.
References ACE_String_Base< CHAR >::c_str(), and endpoint_selector_factory_name_.
00404 { 00405 return this->endpoint_selector_factory_name_.c_str (); 00406 }
void TAO_ORB_Parameters::endpoint_selector_factory_name | ( | const char * | s | ) |
Definition at line 397 of file params.cpp.
References endpoint_selector_factory_name_.
Referenced by TAO_ORB_Core::endpoint_selector_factory().
00398 { 00399 this->endpoint_selector_factory_name_ = s; 00400 }
bool TAO_ORB_Parameters::enforce_pref_interfaces | ( | void | ) | const |
Definition at line 293 of file params.cpp.
References enforce_preferred_interfaces_.
00294 { 00295 return this->enforce_preferred_interfaces_; 00296 }
void TAO_ORB_Parameters::enforce_pref_interfaces | ( | bool | p | ) |
Definition at line 287 of file params.cpp.
References enforce_preferred_interfaces_.
Referenced by TAO_IIOP_Profile::decode_profile(), and TAO_ORB_Core::init().
00288 { 00289 this->enforce_preferred_interfaces_ = p; 00290 }
void TAO_ORB_Parameters::get_endpoint_set | ( | const ACE_CString & | lane, | |
TAO_EndpointSet & | endpoint_set | |||
) |
Definition at line 72 of file params.cpp.
References ACE_ASSERT, and parse_and_add_endpoints().
Referenced by TAO_Default_Thread_Lane_Resources_Manager::open_default_resources().
00074 { 00075 // Look for the lane in the endpoints map. 00076 endpoints_map_type::iterator const endpoints = 00077 this->endpoints_map_.find (lane); 00078 00079 // If lane is not in the map, endpoint_set remains empty 00080 if (endpoints == this->endpoints_map_.end ()) 00081 return; 00082 00083 // At this point, the parsing should not fail since they have been 00084 // parsed successfully before. 00085 int const result = 00086 this->parse_and_add_endpoints ((*endpoints).second, endpoint_set); 00087 00088 ACE_ASSERT (result == 0); 00089 ACE_UNUSED_ARG (result); 00090 }
ACE_INLINE void TAO_ORB_Parameters::linger | ( | int | ) |
Definition at line 86 of file params.inl.
References linger_.
00087 { 00088 this->linger_ = x; 00089 }
ACE_INLINE int TAO_ORB_Parameters::linger | ( | void | ) | const |
The ORB will turn off SO_LINGER if this is zero.
Definition at line 80 of file params.inl.
References linger_.
Referenced by TAO_IIOP_Connection_Handler::close_connection(), and TAO_ORB_Core::init().
00081 { 00082 return this->linger_; 00083 }
ACE_INLINE void TAO_ORB_Parameters::max_message_size | ( | ACE_CDR::ULong | size | ) |
Maximum size of a GIOP message before outgoing fragmentation kicks in.
Definition at line 50 of file params.inl.
References max_message_size_.
00051 { 00052 this->max_message_size_ = size; 00053 }
ACE_INLINE ACE_CDR::ULong TAO_ORB_Parameters::max_message_size | ( | void | ) | const |
Maximum size of a GIOP message before outgoing fragmentation kicks in.
Definition at line 44 of file params.inl.
References max_message_size_.
Referenced by TAO_ORB_Core::init().
00045 { 00046 return this->max_message_size_; 00047 }
ACE_INLINE void TAO_ORB_Parameters::mcast_discovery_endpoint | ( | const char * | mde | ) |
Definition at line 119 of file params.inl.
References mcast_discovery_endpoint_, and CORBA::string_dup().
00120 { 00121 this->mcast_discovery_endpoint_ = CORBA::string_dup (mde); 00122 }
ACE_INLINE const char * TAO_ORB_Parameters::mcast_discovery_endpoint | ( | void | ) | const |
Get/Set address:port for Multicast Discovery Protocol for the Naming Service.
Definition at line 125 of file params.inl.
References mcast_discovery_endpoint_.
Referenced by TAO_ORB_Core::init().
00126 { 00127 return this->mcast_discovery_endpoint_.in (); 00128 }
ACE_INLINE bool TAO_ORB_Parameters::negotiate_codesets | ( | void | ) | const |
Definition at line 296 of file params.inl.
References negotiate_codesets_.
00297 { 00298 return this->negotiate_codesets_; 00299 }
ACE_INLINE void TAO_ORB_Parameters::negotiate_codesets | ( | bool | c | ) |
Definition at line 302 of file params.inl.
References negotiate_codesets_.
Referenced by TAO_ORB_Core::codeset_manager(), and TAO_ORB_Core::init().
00303 { 00304 this->negotiate_codesets_ = x; 00305 }
ACE_INLINE void TAO_ORB_Parameters::nodelay | ( | int | ) |
Definition at line 161 of file params.inl.
References nodelay_.
00162 { 00163 this->nodelay_ = x; 00164 }
ACE_INLINE int TAO_ORB_Parameters::nodelay | ( | void | ) | const |
Set/Get the status of whether to use TCP_NODELAY or not.
Definition at line 155 of file params.inl.
References nodelay_.
Referenced by TAO_ORB_Core::init(), and TAO_IIOP_Connection_Handler::open().
00156 { 00157 return this->nodelay_; 00158 }
ACE_INLINE void TAO_ORB_Parameters::parallel_connect_delay | ( | unsigned long | x | ) |
Definition at line 265 of file params.inl.
References parallel_connect_delay_.
00266 { 00267 this->parallel_connect_delay_ = x; 00268 }
ACE_INLINE unsigned long TAO_ORB_Parameters::parallel_connect_delay | ( | void | ) | const |
The milliseconds delay used to stagger individual connection starts when using parallel connects.
Definition at line 259 of file params.inl.
References parallel_connect_delay_.
Referenced by TAO_ORB_Core::init(), and TAO_IIOP_Connector::make_parallel_connection().
00260 { 00261 return this->parallel_connect_delay_; 00262 }
int TAO_ORB_Parameters::parse_and_add_endpoints | ( | const ACE_CString & | endpoints, | |
TAO_EndpointSet & | endpoint_set | |||
) | [private] |
Definition at line 125 of file params.cpp.
References ACE_String_Base< CHAR >::find(), ACE_String_Base< CHAR >::length(), ACE_String_Base_Const::npos, and ACE_String_Base< CHAR >::substring().
Referenced by add_endpoints(), and get_endpoint_set().
00127 { 00128 // Parse the string into seperate endpoints, where `endpoints' is of 00129 // the form: 00130 // 00131 // protocol1://V,v@addr1,...,addrN;protocol2://addr1,...,W.w@addrN;... 00132 // 00133 // A single endpoint, instead of several, can be added just as well. 00134 00135 static char const endpoints_delimiter = ';'; 00136 00137 size_t const length = endpoints.length (); 00138 00139 if (endpoints[0] == endpoints_delimiter || 00140 endpoints[length - 1] == endpoints_delimiter) 00141 { 00142 return -1; 00143 // Failure: endpoints string has an empty endpoint at the 00144 // beginning or the end of the string 00145 // (e.g. ";uiop://foo;iiop://1.3@bar") 00146 } 00147 00148 int status = 0; 00149 // Return code: 0 = success, -1 = failure 00150 00151 if (length > 0) 00152 { 00153 int endpoints_count = 1; 00154 00155 for (size_t j = 0; j != length; ++j) 00156 { 00157 if (endpoints[j] == endpoints_delimiter) 00158 { 00159 ++endpoints_count; 00160 } 00161 } 00162 00163 ssize_t begin = 0; 00164 ssize_t end = endpoints.find (endpoints_delimiter); 00165 00166 for (int i = 0; i < endpoints_count; ++i) 00167 { 00168 if (end == 0) 00169 { 00170 // Handle case where two consecutive endpoints `;;' 00171 // delimiters are found within the endpoints set. 00172 // 00173 // Is it enough to just skip over it or should we return an 00174 // error? 00175 continue; 00176 } 00177 00178 ACE_CString const endpt = 00179 endpoints.substring (begin, end - begin); 00180 // The substring call will work even if `end' is equal to 00181 // ACE_CString::npos since that will just extract the substring 00182 // from the offset `begin' to the end of the string. 00183 00184 // Check for a valid URL style endpoint set 00185 ACE_CString::size_type const check_offset = endpt.find ("://"); 00186 00187 if (check_offset > 0 && 00188 check_offset != endpt.npos) 00189 { 00190 endpoint_set.enqueue_tail (endpt); 00191 // Insert endpoint into list 00192 } 00193 else 00194 { 00195 status = -1; // Error: invalid URL style endpoint set 00196 } 00197 00198 begin = end + 1; 00199 end = endpoints.find (endpoints_delimiter, begin); 00200 } 00201 } 00202 else 00203 { 00204 status = -1; 00205 // Failure: Empty string 00206 } 00207 00208 return status; 00209 }
const char * TAO_ORB_Parameters::poa_factory_directive | ( | void | ) | const |
Definition at line 391 of file params.cpp.
References ACE_String_Base< CHAR >::c_str(), and poa_factory_directive_.
00392 { 00393 return this->poa_factory_directive_.c_str (); 00394 }
void TAO_ORB_Parameters::poa_factory_directive | ( | const char * | s | ) |
Definition at line 385 of file params.cpp.
References poa_factory_directive_.
00386 { 00387 this->poa_factory_directive_ = s; 00388 }
const char * TAO_ORB_Parameters::poa_factory_name | ( | void | ) | const |
Definition at line 379 of file params.cpp.
References ACE_String_Base< CHAR >::c_str(), and poa_factory_name_.
00380 { 00381 return this->poa_factory_name_.c_str (); 00382 }
void TAO_ORB_Parameters::poa_factory_name | ( | const char * | s | ) |
Definition at line 373 of file params.cpp.
References poa_factory_name_.
Referenced by TAO_ORB_Core::init(), and TAO_ORB_Core::root_poa().
00374 { 00375 this->poa_factory_name_ = s; 00376 }
const char * TAO_ORB_Parameters::preferred_interfaces | ( | void | ) | const |
Definition at line 281 of file params.cpp.
00282 { 00283 return this->pref_network_.c_str (); 00284 }
bool TAO_ORB_Parameters::preferred_interfaces | ( | const char * | s | ) |
Accepts the list of preferred interfaces and does a simple semantic check on the string
Definition at line 212 of file params.cpp.
Referenced by TAO_IIOP_Profile::decode_profile().
00213 { 00214 // Validates that s contains one or more comma separated 00215 // interfaces each consisting of a string with a single 00216 // assignment separator ('=' or ':') 00217 // Any other char is legal, although '*' and '?' will be 00218 // treated as wildcards. 00219 const char* p = s; 00220 bool expect_assign = false; 00221 bool expect_comma = false; 00222 bool expect_char = true; 00223 bool expect_wild = true; 00224 bool found_remote = false; 00225 while (*p != 0) 00226 { 00227 switch (*p) 00228 { 00229 #if !defined (ACE_HAS_IPV6) 00230 // Can't use this as assignment operator when IPv6 decimal 00231 // addresses may be involved. 00232 case ':': 00233 #endif /* ACE_HAS_IPV6 */ 00234 case '=': 00235 if (! expect_assign) 00236 return false; 00237 found_remote = true; 00238 expect_assign = false; 00239 expect_char = true; 00240 expect_comma = false; 00241 expect_wild = true; 00242 break; 00243 case ',': 00244 if (! expect_comma) 00245 return false; 00246 found_remote = false; 00247 expect_assign = false; 00248 expect_char = true; 00249 expect_comma = false; 00250 expect_wild = true; 00251 break; 00252 case '*': 00253 case '?': 00254 if (! expect_wild) 00255 return false; 00256 expect_assign = ! found_remote; 00257 expect_char = true; 00258 expect_comma = found_remote; 00259 expect_wild = false; 00260 break; 00261 default: 00262 if (! expect_char) 00263 return false; 00264 expect_assign = ! found_remote; 00265 expect_char = true; 00266 expect_comma = found_remote; 00267 expect_wild = true; 00268 break; 00269 } 00270 ++p; 00271 } 00272 if (!expect_comma || expect_assign) 00273 return false; 00274 00275 this->pref_network_ = s; 00276 00277 return true; 00278 }
const char * TAO_ORB_Parameters::protocols_hooks_name | ( | void | ) | const |
Definition at line 343 of file params.cpp.
References ACE_String_Base< CHAR >::c_str(), and protocols_hooks_name_.
00344 { 00345 return this->protocols_hooks_name_.c_str (); 00346 }
void TAO_ORB_Parameters::protocols_hooks_name | ( | const char * | s | ) |
Definition at line 337 of file params.cpp.
References protocols_hooks_name_.
Referenced by TAO_ORB_Core::init().
00338 { 00339 this->protocols_hooks_name_ = s; 00340 }
ACE_INLINE void TAO_ORB_Parameters::sched_policy | ( | long | x | ) |
Definition at line 209 of file params.inl.
References sched_policy_.
00210 { 00211 this->sched_policy_ = x; 00212 }
ACE_INLINE long TAO_ORB_Parameters::sched_policy | ( | void | ) | const |
Scheduling policy flag.
Scheduling policy specified by the user through the -ORBSchedPolicy option. This value is typically used by ACE thread creation functions. Legal values are THR_SCHED_RR, THR_SCHED_FIFO, and THR_SCHED_DEFAULT.
Definition at line 203 of file params.inl.
References sched_policy_.
Referenced by thread_creation_flags().
00204 { 00205 return this->sched_policy_; 00206 }
ACE_INLINE void TAO_ORB_Parameters::scope_policy | ( | long | x | ) |
Definition at line 221 of file params.inl.
References scope_policy_.
00222 { 00223 this->scope_policy_ = x; 00224 }
ACE_INLINE long TAO_ORB_Parameters::scope_policy | ( | void | ) | const |
Scheduling scope flag.
Scheduling policy specified by the user through the -ORBScopePolicy option. This value is typically used by ACE thread creation functions. Legal values are THR_SCOPE_SYSTEM and THR_SCOPE_PROCESS.
Definition at line 215 of file params.inl.
References scope_policy_.
Referenced by thread_creation_flags().
00216 { 00217 return this->scope_policy_; 00218 }
ACE_INLINE void TAO_ORB_Parameters::service_port | ( | TAO::MCAST_SERVICEID | service_id, | |
CORBA::UShort | port | |||
) |
Definition at line 106 of file params.inl.
References service_port_.
00108 { 00109 this->service_port_[service_id] = port; 00110 }
ACE_INLINE CORBA::UShort TAO_ORB_Parameters::service_port | ( | TAO::MCAST_SERVICEID | service_id | ) | const |
Set/Get the port of services locatable through multicast.
Definition at line 113 of file params.inl.
References service_port_.
Referenced by TAO_ORB_Core::init(), and CORBA::ORB::resolve_service().
00114 { 00115 return this->service_port_[service_id]; 00116 }
ACE_INLINE void TAO_ORB_Parameters::shared_profile | ( | int | x | ) |
Definition at line 277 of file params.inl.
References shared_profile_.
00278 { 00279 this->shared_profile_ = x; 00280 }
ACE_INLINE int TAO_ORB_Parameters::shared_profile | ( | void | ) | const |
Create shared profiles without priority.
Definition at line 271 of file params.inl.
References shared_profile_.
Referenced by TAO_ORB_Core::init(), and TAO_CORBALOC_Parser::parse_string().
00272 { 00273 return this->shared_profile_; 00274 }
ACE_INLINE void TAO_ORB_Parameters::single_read_optimization | ( | int | x | ) |
Definition at line 241 of file params.inl.
References single_read_optimization_.
00242 { 00243 this->single_read_optimization_ = x; 00244 }
ACE_INLINE int TAO_ORB_Parameters::single_read_optimization | ( | void | ) | const |
Single read optimization.
Definition at line 235 of file params.inl.
References single_read_optimization_.
Referenced by TAO_ORB_Core::init().
00236 { 00237 return this->single_read_optimization_; 00238 }
ACE_INLINE void TAO_ORB_Parameters::sock_dontroute | ( | int | ) |
Definition at line 185 of file params.inl.
References sock_dontroute_.
00186 { 00187 this->sock_dontroute_ = x; 00188 }
ACE_INLINE int TAO_ORB_Parameters::sock_dontroute | ( | void | ) |
Set/Get whether we should set SO_DONTROUTE on the socket or not.
Definition at line 179 of file params.inl.
References sock_dontroute_.
Referenced by TAO_ORB_Core::init(), and TAO_IIOP_Connection_Handler::open().
00180 { 00181 return this->sock_dontroute_; 00182 }
ACE_INLINE void TAO_ORB_Parameters::sock_keepalive | ( | int | ) |
Definition at line 173 of file params.inl.
References sock_keepalive_.
00174 { 00175 this->sock_keepalive_ = x; 00176 }
ACE_INLINE int TAO_ORB_Parameters::sock_keepalive | ( | void | ) |
Set/Get whether we should set SO_KEEPALIVE on the socket or not.
Definition at line 167 of file params.inl.
References sock_keepalive_.
Referenced by TAO_ORB_Core::init(), and TAO_IIOP_Connection_Handler::open().
00168 { 00169 return this->sock_keepalive_; 00170 }
ACE_INLINE void TAO_ORB_Parameters::sock_rcvbuf_size | ( | int | ) |
Definition at line 14 of file params.inl.
References sock_rcvbuf_size_.
00015 { 00016 sock_rcvbuf_size_ = s; 00017 }
TAO_BEGIN_VERSIONED_NAMESPACE_DECL ACE_INLINE int TAO_ORB_Parameters::sock_rcvbuf_size | ( | void | ) | const |
Set/Get the size to be used for a socket's receive buffer.
Definition at line 8 of file params.inl.
References sock_rcvbuf_size_.
Referenced by TAO_ORB_Core::init(), and TAO_IIOP_Connection_Handler::open().
00009 { 00010 return sock_rcvbuf_size_; 00011 }
ACE_INLINE void TAO_ORB_Parameters::sock_sndbuf_size | ( | int | ) |
Definition at line 26 of file params.inl.
References sock_sndbuf_size_.
00027 { 00028 sock_sndbuf_size_ = s; 00029 }
ACE_INLINE int TAO_ORB_Parameters::sock_sndbuf_size | ( | void | ) | const |
Set/Get the size to be used for a socket's send buffer.
Definition at line 20 of file params.inl.
References sock_sndbuf_size_.
Referenced by TAO_ORB_Core::init(), and TAO_IIOP_Connection_Handler::open().
00021 { 00022 return sock_sndbuf_size_; 00023 }
ACE_INLINE void TAO_ORB_Parameters::std_profile_components | ( | int | x | ) |
Definition at line 149 of file params.inl.
References std_profile_components_.
00150 { 00151 this->std_profile_components_ = x; 00152 }
ACE_INLINE int TAO_ORB_Parameters::std_profile_components | ( | void | ) | const |
Disable the OMG standard profile components, useful for homogenous environments.
Definition at line 143 of file params.inl.
References std_profile_components_.
Referenced by TAO_ORB_Core::init().
00144 { 00145 return this->std_profile_components_; 00146 }
const char * TAO_ORB_Parameters::stub_factory_name | ( | void | ) | const |
Definition at line 367 of file params.cpp.
References ACE_String_Base< CHAR >::c_str(), and stub_factory_name_.
00368 { 00369 return this->stub_factory_name_.c_str (); 00370 }
void TAO_ORB_Parameters::stub_factory_name | ( | const char * | s | ) |
Definition at line 361 of file params.cpp.
References stub_factory_name_.
Referenced by TAO_ORB_Core::stub_factory().
00362 { 00363 this->stub_factory_name_ = s; 00364 }
ACE_INLINE long TAO_ORB_Parameters::thread_creation_flags | ( | void | ) | const |
Thread creation flags.
Shorthand for OR'ing together the scope_policy and sched_policy.
Definition at line 227 of file params.inl.
References sched_policy(), and scope_policy().
00228 { 00229 return 00230 this->scope_policy () | 00231 this->sched_policy (); 00232 }
const char * TAO_ORB_Parameters::thread_lane_resources_manager_factory_name | ( | void | ) | const |
Definition at line 355 of file params.cpp.
References ACE_String_Base< CHAR >::c_str(), and thread_lane_resources_manager_factory_name_.
00356 { 00357 return this->thread_lane_resources_manager_factory_name_.c_str (); 00358 }
void TAO_ORB_Parameters::thread_lane_resources_manager_factory_name | ( | const char * | s | ) |
Definition at line 349 of file params.cpp.
References thread_lane_resources_manager_factory_name_.
Referenced by TAO_ORB_Core::thread_lane_resources_manager().
00350 { 00351 this->thread_lane_resources_manager_factory_name_ = s; 00352 }
ACE_INLINE void TAO_ORB_Parameters::use_dotted_decimal_addresses | ( | int | ) |
Definition at line 62 of file params.inl.
References use_dotted_decimal_addresses_.
00063 { 00064 this->use_dotted_decimal_addresses_ = x; 00065 }
ACE_INLINE int TAO_ORB_Parameters::use_dotted_decimal_addresses | ( | void | ) | const |
The ORB will use the dotted decimal notation for addresses. By default we use the full ascii names.
Definition at line 56 of file params.inl.
References use_dotted_decimal_addresses_.
Referenced by TAO_IIOP_Acceptor::hostname(), and TAO_ORB_Core::init().
00057 { 00058 return this->use_dotted_decimal_addresses_; 00059 }
ACE_INLINE void TAO_ORB_Parameters::use_parallel_connects | ( | bool | x | ) |
Definition at line 253 of file params.inl.
References use_parallel_connects_.
00254 { 00255 this->use_parallel_connects_ = x; 00256 }
ACE_INLINE bool TAO_ORB_Parameters::use_parallel_connects | ( | void | ) | const |
Want to use parallel connection attempts when profiles have multiple endpoints.
Definition at line 247 of file params.inl.
References use_parallel_connects_.
Referenced by TAO_ORB_Core::init(), and TAO::Profile_Transport_Resolver::use_parallel_connect().
00248 { 00249 return this->use_parallel_connects_; 00250 }
time_t TAO_ORB_Parameters::accept_error_delay_ [private] |
For setting the accept retry delay.
Definition at line 317 of file params.h.
Referenced by accept_error_delay().
int TAO_ORB_Parameters::ace_sched_policy_ [private] |
Scheduling policy.
Scheduling policy specified by the user through the -ORBSchedPolicy option. This value is typically used by functions like ACE_OS::thr_setprio() and ACE_Sched_Params::priority_min(). Legal values are ACE_SCHED_RR, ACE_SCHED_FIFO, and ACE_SCHED_OTHER.
Definition at line 330 of file params.h.
Referenced by ace_sched_policy().
bool TAO_ORB_Parameters::ami_collication_ [private] |
Do we make collocated ami calls.
Definition at line 402 of file params.h.
Referenced by ami_collication().
If incoming connections should be cached against IP (true) or hostname (false).
Definition at line 311 of file params.h.
Referenced by cache_incoming_by_dotted_decimal_address().
int TAO_ORB_Parameters::cdr_memcpy_tradeoff_ [private] |
Control the strategy for copying vs. appeding octet sequences in CDR streams.
Definition at line 297 of file params.h.
Referenced by cdr_memcpy_tradeoff().
Name of the collocation resolver that needs to be instantiated. The default value is "Default_Collocation_Resolver". If TAO_RTCORBA is linked, the set_collocation_resolver will be called to set the value to be "RT_Collocation_Resolver".
Definition at line 457 of file params.h.
Referenced by collocation_resolver_name().
List of comma separated prefixes from ORBDefaultInitRef.
Definition at line 278 of file params.h.
Referenced by default_init_ref().
bool TAO_ORB_Parameters::disable_rt_collocation_resolver_ [private] |
Default collocation resolver.
The vanilla ORB has only one collocation resolver. But if the RTORB is in place, the RTORB can get in a new collocation resolver. There are some applications that would like to use the default collocation resolver with the RTORB. This boolean is the value of the option that the application passes in to enable/disable the use of RT collocation resolver with the RTORB. The default value is false to indicate that the RT_Collocation_Resolver will be loaded if the RTORB is used.
Definition at line 380 of file params.h.
Referenced by disable_rt_collocation_resolver().
Name of the endpoint selector factory that needs to be instantiated. The default value is "Default_Endpoint_Selector_Factory". If TAO_RTCORBA is linked, the set_endpoint_selector_factory will be called to set the value to be "RT_Endpoint_Selector_Factory".
Definition at line 425 of file params.h.
Referenced by endpoint_selector_factory_name().
bool TAO_ORB_Parameters::enforce_preferred_interfaces_ [private] |
int TAO_ORB_Parameters::linger_ [private] |
Maximum GIOP message size to be sent over a given transport.
Setting a maximum message size will cause outgoing GIOP fragmentation to be enabled.
Definition at line 304 of file params.h.
Referenced by max_message_size().
Address:port for Multicast Discovery Protocol for the Naming Service.
Definition at line 275 of file params.h.
Referenced by mcast_discovery_endpoint().
bool TAO_ORB_Parameters::negotiate_codesets_ [private] |
Enable the use of codeset negotiation.
Definition at line 399 of file params.h.
Referenced by negotiate_codesets().
int TAO_ORB_Parameters::nodelay_ [private] |
unsigned long TAO_ORB_Parameters::parallel_connect_delay_ [private] |
When using parallel connects, this delay is used to stagger connection attempts. This gives a trade-off between opening more potential connections than necessary vs increasing the potential time before a good connection is discovered. Time is expressed in milliseconds.
Definition at line 364 of file params.h.
Referenced by parallel_connect_delay().
The service configurator directive used to load poa_factory_name_ dynamically.
Definition at line 449 of file params.h.
Referenced by poa_factory_directive().
Name of the service object used to create the RootPOA. The default value is "TAO_POA". If TAO_RTCORBA is loaded, this will be changed to TAO_RT_POA so that a POA equipped with realtime extensions will be returned.
Definition at line 443 of file params.h.
Referenced by poa_factory_name().
ACE_CString TAO_ORB_Parameters::pref_network_ [private] |
Name of the protocols_hooks that needs to be instantiated. The default value is "Protocols_Hooks". If RTCORBA option is set, its value will be set to be "RT_Protocols_Hooks".
Definition at line 409 of file params.h.
Referenced by protocols_hooks_name().
long TAO_ORB_Parameters::sched_policy_ [private] |
Scheduling policy flag.
Scheduling policy specified by the user through the -ORBSchedPolicy option. This value is typically used by ACE thread creation functions. Legal values are THR_SCHED_RR, THR_SCHED_FIFO, and THR_SCHED_DEFAULT.
Definition at line 339 of file params.h.
Referenced by sched_policy().
long TAO_ORB_Parameters::scope_policy_ [private] |
Scheduling scope flag.
Scheduling policy specified by the user through the -ORBScopePolicy option. This value is typically used by ACE thread creation functions. Legal values are THR_SCOPE_SYSTEM and THR_SCOPE_PROCESS.
Definition at line 348 of file params.h.
Referenced by scope_policy().
CORBA::UShort TAO_ORB_Parameters::service_port_[TAO_NO_OF_MCAST_SERVICES] [private] |
Port numbers of the configured services.
Definition at line 271 of file params.h.
Referenced by service_port().
int TAO_ORB_Parameters::shared_profile_ [private] |
Shared Profile - Use the same profile for multiple endpoints.
Definition at line 354 of file params.h.
Referenced by shared_profile().
int TAO_ORB_Parameters::single_read_optimization_ [private] |
Single read optimization.
Definition at line 351 of file params.h.
Referenced by single_read_optimization().
int TAO_ORB_Parameters::sock_dontroute_ [private] |
1 if we're using SO_DONTROUTE and 0 otherwise (default 0).
Definition at line 293 of file params.h.
Referenced by sock_dontroute().
int TAO_ORB_Parameters::sock_keepalive_ [private] |
1 if we're using SO_KEEPALIVE and 0 otherwise (default 0).
Definition at line 290 of file params.h.
Referenced by sock_keepalive().
int TAO_ORB_Parameters::sock_rcvbuf_size_ [private] |
Size to be used for a socket's receive buffer.
Definition at line 281 of file params.h.
Referenced by sock_rcvbuf_size().
int TAO_ORB_Parameters::sock_sndbuf_size_ [private] |
Size to be used for a socket's send buffer.
Definition at line 284 of file params.h.
Referenced by sock_sndbuf_size().
int TAO_ORB_Parameters::std_profile_components_ [private] |
If true then the standard OMG components are not generated.
Definition at line 320 of file params.h.
Referenced by std_profile_components().
Name of the stub factory that needs to be instantiated. The default value is "Default_Stub_Factory". If TAO_RTCORBA is linked, the set_stub_factory will be called to set the value to be "RT_Stub_Factory".
Definition at line 417 of file params.h.
Referenced by stub_factory_name().
Name of the thread lane resources manager that needs to be instantiated. The default value is "Default_Thread_Lane_Resources_Manager_Factory". If TAO_RTCORBA is linked, the set_thread_lane_resources_manager will be called to set the value to be "RT_Thread_Lane_Resources_Manager_Factory".
Definition at line 435 of file params.h.
Referenced by thread_lane_resources_manager_factory_name().
int TAO_ORB_Parameters::use_dotted_decimal_addresses_ [private] |
For selecting a address notation.
Definition at line 307 of file params.h.
Referenced by use_dotted_decimal_addresses().
int TAO_ORB_Parameters::use_parallel_connects_ [private] |
Use Parallel Connects - Try to connect to all endpoints in a shared profile at once, use the first to complete.
Definition at line 358 of file params.h.
Referenced by use_parallel_connects().