TAO_ORB_Parameters Class Reference

Parameters that are specific to the ORB. These parameters can be for the client, the server, or for both. More...

#include <params.h>

Collaboration diagram for TAO_ORB_Parameters:

Collaboration graph
[legend]
List of all members.

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_

Detailed Description

Parameters that are specific to the ORB. These parameters can be for the client, the server, or for both.

Definition at line 51 of file params.h.


Member Typedef Documentation

typedef ACE_Array_Map<ACE_CString, ACE_CString> TAO_ORB_Parameters::endpoints_map_type

Definition at line 55 of file params.h.


Constructor & Destructor Documentation

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 }


Member Function Documentation

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 }


Member Data Documentation

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().

int TAO_ORB_Parameters::cache_incoming_by_dotted_decimal_address_ [private]

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().

ACE_CString TAO_ORB_Parameters::collocation_resolver_name_ [private]

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().

ACE_CString TAO_ORB_Parameters::default_init_ref_ [private]

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().

ACE_CString TAO_ORB_Parameters::endpoint_selector_factory_name_ [private]

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().

endpoints_map_type TAO_ORB_Parameters::endpoints_map_ [private]

Map of endpoints this server is willing to accept requests on.

Definition at line 268 of file params.h.

bool TAO_ORB_Parameters::enforce_preferred_interfaces_ [private]

Definition at line 382 of file params.h.

Referenced by enforce_pref_interfaces().

int TAO_ORB_Parameters::linger_ [private]

For setting the SO_LINGER option.

Definition at line 314 of file params.h.

Referenced by linger().

ACE_CDR::ULong TAO_ORB_Parameters::max_message_size_ [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().

CORBA::String_var TAO_ORB_Parameters::mcast_discovery_endpoint_ [private]

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]

1 if we're using TCP_NODELAY and 0 otherwise.

Definition at line 287 of file params.h.

Referenced by nodelay().

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().

ACE_CString TAO_ORB_Parameters::poa_factory_directive_ [private]

The service configurator directive used to load poa_factory_name_ dynamically.

Definition at line 449 of file params.h.

Referenced by poa_factory_directive().

ACE_CString TAO_ORB_Parameters::poa_factory_name_ [private]

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]

Preferred network interfaces as a string.

Definition at line 367 of file params.h.

ACE_CString TAO_ORB_Parameters::protocols_hooks_name_ [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().

ACE_CString TAO_ORB_Parameters::stub_factory_name_ [private]

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().

ACE_CString TAO_ORB_Parameters::thread_lane_resources_manager_factory_name_ [private]

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().


The documentation for this class was generated from the following files:
Generated on Tue Feb 2 17:39:40 2010 for TAO by  doxygen 1.4.7