TAO 2.0.4
Public Types | Public Member Functions | Private Member Functions | Private Attributes
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 ip_hoplimit (void)
 Set/Get the number of hops to be used for datagrams sent through socket.
void ip_hoplimit (int)
bool ip_multicastloop (void)
 Set/Get whether we should set IP_MULTICAST_LOOP on the socket or not.
void ip_multicastloop (bool)
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)
bool std_profile_components (void) const
void std_profile_components (bool 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 ACE_TCHAR *s)
const ACE_TCHARpoa_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
void forward_invocation_on_object_not_exist (bool opt)
bool forward_invocation_on_object_not_exist (void) const
void forward_once_exception (const int)
int forward_once_exception () 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 ip_hoplimit_
 Number of hops to be used for datagrams sent through socket.
bool ip_multicastloop_
 1 if we're using IP_MULTICAST_LOOP and 0 otherwise.
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.
bool 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_TString poa_factory_directive_
bool forward_invocation_on_object_not_exist_
int forward_once_exception_
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.


Member Typedef Documentation


Constructor & Destructor Documentation

TAO_ORB_Parameters::TAO_ORB_Parameters ( void  )

Constructor.


Member Function Documentation

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.

void TAO_ORB_Parameters::accept_error_delay ( time_t  x)
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.

void TAO_ORB_Parameters::ace_sched_policy ( int  x)
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.

void TAO_ORB_Parameters::ami_collication ( bool  opt)
bool TAO_ORB_Parameters::ami_collication ( void  ) const
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

void TAO_ORB_Parameters::cache_incoming_by_dotted_decimal_address ( int  x)
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.

void TAO_ORB_Parameters::cdr_memcpy_tradeoff ( int  x)
void TAO_ORB_Parameters::collocation_resolver_name ( const char *  s)
const char * TAO_ORB_Parameters::collocation_resolver_name ( void  ) const
char * TAO_ORB_Parameters::default_init_ref ( void  ) const

Set/Get the Init Reference of an arbitrary ObjectID.

void TAO_ORB_Parameters::default_init_ref ( const char *  default_init_ref)
bool TAO_ORB_Parameters::disable_rt_collocation_resolver ( void  ) const

Mutators and accessors for rt_collocation_resolver.

void TAO_ORB_Parameters::disable_rt_collocation_resolver ( bool  x)
const char * TAO_ORB_Parameters::endpoint_selector_factory_name ( void  ) const
void TAO_ORB_Parameters::endpoint_selector_factory_name ( const char *  s)
void TAO_ORB_Parameters::enforce_pref_interfaces ( bool  p)
bool TAO_ORB_Parameters::enforce_pref_interfaces ( void  ) const
void TAO_ORB_Parameters::forward_invocation_on_object_not_exist ( bool  opt)
bool TAO_ORB_Parameters::forward_invocation_on_object_not_exist ( void  ) const
void TAO_ORB_Parameters::forward_once_exception ( const int  ef)
int TAO_ORB_Parameters::forward_once_exception ( void  ) const
void TAO_ORB_Parameters::get_endpoint_set ( const ACE_CString lane,
TAO_EndpointSet endpoint_set 
)
int TAO_ORB_Parameters::ip_hoplimit ( void  )

Set/Get the number of hops to be used for datagrams sent through socket.

void TAO_ORB_Parameters::ip_hoplimit ( int  x)
void TAO_ORB_Parameters::ip_multicastloop ( bool  x)
bool TAO_ORB_Parameters::ip_multicastloop ( void  )

Set/Get whether we should set IP_MULTICAST_LOOP on the socket or not.

int TAO_ORB_Parameters::linger ( void  ) const

The ORB will turn off SO_LINGER if this is zero.

void TAO_ORB_Parameters::linger ( int  x)
ACE_CDR::ULong TAO_ORB_Parameters::max_message_size ( void  ) const

Maximum size of a GIOP message before outgoing fragmentation kicks in.

void TAO_ORB_Parameters::max_message_size ( ACE_CDR::ULong  size)

Maximum size of a GIOP message before outgoing fragmentation kicks in.

const char * TAO_ORB_Parameters::mcast_discovery_endpoint ( void  ) const

Get/Set address:port for Multicast Discovery Protocol for the Naming Service.

void TAO_ORB_Parameters::mcast_discovery_endpoint ( const char *  mde)
bool TAO_ORB_Parameters::negotiate_codesets ( void  ) const
void TAO_ORB_Parameters::negotiate_codesets ( bool  c)
int TAO_ORB_Parameters::nodelay ( void  ) const

Set/Get the status of whether to use TCP_NODELAY or not.

void TAO_ORB_Parameters::nodelay ( int  x)
unsigned long TAO_ORB_Parameters::parallel_connect_delay ( void  ) const

The milliseconds delay used to stagger individual connection starts when using parallel connects.

void TAO_ORB_Parameters::parallel_connect_delay ( unsigned long  x)
int TAO_ORB_Parameters::parse_and_add_endpoints ( const ACE_CString endpoints,
TAO_EndpointSet endpoint_set 
) [private]

Each "endpoint" is of the form:

protocol://V.v,...,W.w/

or:

protocol://addr1,addr2,...,addrN/

where "V.v" and "W.w" are optional versions.

Multiple sets of endpoints may be separated by a semi-colon `;'. For example:

iiop://space:2001,odyssey:2010;uiop://foo,bar

All preconnect or endpoint strings should be of the above form(s).

void TAO_ORB_Parameters::poa_factory_directive ( const ACE_TCHAR s)
const ACE_TCHAR * TAO_ORB_Parameters::poa_factory_directive ( void  ) const
const char * TAO_ORB_Parameters::poa_factory_name ( void  ) const
void TAO_ORB_Parameters::poa_factory_name ( const char *  s)
const char * TAO_ORB_Parameters::preferred_interfaces ( void  ) const
bool TAO_ORB_Parameters::preferred_interfaces ( const char *  s)

Accepts the list of preferred interfaces and does a simple semantic check on the string

const char * TAO_ORB_Parameters::protocols_hooks_name ( void  ) const
void TAO_ORB_Parameters::protocols_hooks_name ( const char *  s)
void TAO_ORB_Parameters::sched_policy ( long  x)
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.

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.

void TAO_ORB_Parameters::scope_policy ( long  x)
void TAO_ORB_Parameters::service_port ( TAO::MCAST_SERVICEID  service_id,
CORBA::UShort  port 
)
CORBA::UShort TAO_ORB_Parameters::service_port ( TAO::MCAST_SERVICEID  service_id) const

Set/Get the port of services locatable through multicast.

int TAO_ORB_Parameters::shared_profile ( void  ) const

Create shared profiles without priority.

void TAO_ORB_Parameters::shared_profile ( int  x)
void TAO_ORB_Parameters::single_read_optimization ( int  x)
int TAO_ORB_Parameters::single_read_optimization ( void  ) const

Single read optimization.

void TAO_ORB_Parameters::sock_dontroute ( int  x)
int TAO_ORB_Parameters::sock_dontroute ( void  )

Set/Get whether we should set SO_DONTROUTE on the socket or not.

void TAO_ORB_Parameters::sock_keepalive ( int  x)
int TAO_ORB_Parameters::sock_keepalive ( void  )

Set/Get whether we should set SO_KEEPALIVE on the socket or not.

void TAO_ORB_Parameters::sock_rcvbuf_size ( int  s)
int TAO_ORB_Parameters::sock_rcvbuf_size ( void  ) const

Set/Get the size to be used for a socket's receive buffer.

void TAO_ORB_Parameters::sock_sndbuf_size ( int  s)
int TAO_ORB_Parameters::sock_sndbuf_size ( void  ) const

Set/Get the size to be used for a socket's send buffer.

bool TAO_ORB_Parameters::std_profile_components ( void  ) const

Disable the OMG standard profile components, useful for homogenous environments.

void TAO_ORB_Parameters::std_profile_components ( bool  x)
void TAO_ORB_Parameters::stub_factory_name ( const char *  s)
const char * TAO_ORB_Parameters::stub_factory_name ( void  ) const
long TAO_ORB_Parameters::thread_creation_flags ( void  ) const

Thread creation flags.

Shorthand for OR'ing together the scope_policy and sched_policy.

void TAO_ORB_Parameters::thread_lane_resources_manager_factory_name ( const char *  s)
const char * TAO_ORB_Parameters::thread_lane_resources_manager_factory_name ( void  ) const
void TAO_ORB_Parameters::use_dotted_decimal_addresses ( int  x)
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.

bool TAO_ORB_Parameters::use_parallel_connects ( void  ) const

Want to use parallel connection attempts when profiles have multiple endpoints.

void TAO_ORB_Parameters::use_parallel_connects ( bool  x)

Member Data Documentation

For setting the accept retry delay.

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.

Do we make collocated ami calls.

If incoming connections should be cached against IP (true) or hostname (false).

Control the strategy for copying vs. appending octet sequences in CDR streams.

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".

List of comma separated prefixes from ORBDefaultInitRef.

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.

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".

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

Do we need forward invocation to next avaiable profile upon OBJECT_NOT_EXIST exception?

The exceptions upon which the requests will be forwarded once.

Number of hops to be used for datagrams sent through socket.

1 if we're using IP_MULTICAST_LOOP and 0 otherwise.

For setting the SO_LINGER option.

Maximum GIOP message size to be sent over a given transport.

Setting a maximum message size will cause outgoing GIOP fragmentation to be enabled.

Address:port for Multicast Discovery Protocol for the Naming Service.

Enable the use of codeset negotiation.

1 if we're using TCP_NODELAY and 0 otherwise.

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.

The service configurator directive used to load poa_factory_name_ dynamically.

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.

Preferred network interfaces as a string.

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".

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.

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.

CORBA::UShort TAO_ORB_Parameters::service_port_[TAO_NO_OF_MCAST_SERVICES] [private]

Port numbers of the configured services.

Shared Profile - Use the same profile for multiple endpoints.

Single read optimization.

1 if we're using SO_DONTROUTE and 0 otherwise (default 0).

1 if we're using SO_KEEPALIVE and 0 otherwise (default 0).

Size to be used for a socket's receive buffer.

Size to be used for a socket's send buffer.

If true then the standard OMG components are not generated.

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".

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".

For selecting a address notation.

Use Parallel Connects - Try to connect to all endpoints in a shared profile at once, use the first to complete.


The documentation for this class was generated from the following files:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines