TAO_Strategies  2.0.8
Public Types | Public Member Functions | Protected Member Functions | Protected Attributes | Private Attributes
TAO_SCIOP_Acceptor Class Reference

TAO_SCIOP_Acceptor. More...

#include <SCIOP_Acceptor.h>

Inheritance diagram for TAO_SCIOP_Acceptor:
Inheritance graph
[legend]
Collaboration diagram for TAO_SCIOP_Acceptor:
Collaboration graph
[legend]

List of all members.

Public Types

typedef TAO_Strategy_Acceptor
< TAO_SCIOP_Connection_Handler,
ACE_SOCK_SEQPACK_ACCEPTOR
TAO_SCIOP_BASE_ACCEPTOR
typedef TAO_Creation_Strategy
< TAO_SCIOP_Connection_Handler
TAO_SCIOP_CREATION_STRATEGY
typedef
TAO_Concurrency_Strategy
< TAO_SCIOP_Connection_Handler
TAO_SCIOP_CONCURRENCY_STRATEGY
typedef TAO_Accept_Strategy
< TAO_SCIOP_Connection_Handler,
ACE_SOCK_SEQPACK_ACCEPTOR
TAO_SCIOP_ACCEPT_STRATEGY

Public Member Functions

 TAO_SCIOP_Acceptor (void)
 Constructor.
 ~TAO_SCIOP_Acceptor (void)
 Destructor.
const ACE_INET_Addraddress (void) const
const ACE_INET_Addrendpoints (void)
 Returns the array of endpoints in this acceptor.
virtual int open (TAO_ORB_Core *orb_core, ACE_Reactor *reactor, int version_major, int version_minor, const char *address, const char *options=0)
virtual int open_default (TAO_ORB_Core *orb_core, ACE_Reactor *reactor, int version_major, int version_minor, const char *options=0)
virtual int close (void)
virtual int create_profile (const TAO::ObjectKey &object_key, TAO_MProfile &mprofile, CORBA::Short priority)
virtual int is_collocated (const TAO_Endpoint *endpoint)
virtual CORBA::ULong endpoint_count (void)
virtual int object_key (IOP::TaggedProfile &profile, TAO::ObjectKey &key)
int hostname (TAO_ORB_Core *orb_core, ACE_INET_Addr &addr, char *&host, const char *specified_hostname=0)
int dotted_decimal_address (ACE_INET_Addr &addr, char *&host)

Protected Member Functions

virtual int open_i (const ACE_Multihomed_INET_Addr &addr, ACE_Reactor *reactor)
int probe_interfaces (TAO_ORB_Core *orb_core)
int parse_multiple_hostnames (const char *hostnames, ACE_Array< ACE_CString > &hostnames_out)
virtual int parse_options (const char *options)
int init_tcp_properties (void)
int create_new_profile (const TAO::ObjectKey &object_key, TAO_MProfile &mprofile, CORBA::Short priority)
int create_shared_profile (const TAO::ObjectKey &object_key, TAO_MProfile &mprofile, CORBA::Short priority)

Protected Attributes

ACE_INET_Addraddrs_
u_short port_span_
char ** hosts_
CORBA::ULong endpoint_count_
char * hostname_in_ior_
TAO_GIOP_Message_Version version_
TAO_ORB_Coreorb_core_
 ORB Core.

Private Attributes

TAO_SCIOP_BASE_ACCEPTOR base_acceptor_
 the concrete acceptor, as a pointer to it's base class.
TAO_SCIOP_CREATION_STRATEGYcreation_strategy_
 Acceptor strategies.
TAO_SCIOP_CONCURRENCY_STRATEGYconcurrency_strategy_
TAO_SCIOP_ACCEPT_STRATEGYaccept_strategy_

Detailed Description

TAO_SCIOP_Acceptor.

The SCIOP-specific bridge class for the concrete acceptor.


Member Typedef Documentation


Constructor & Destructor Documentation

TAO_SCIOP_Acceptor::TAO_SCIOP_Acceptor ( void  )

Constructor.

TAO_SCIOP_Acceptor::~TAO_SCIOP_Acceptor ( void  )

Destructor.


Member Function Documentation

const ACE_INET_Addr & TAO_SCIOP_Acceptor::address ( void  ) const [inline]

@ Helper method for the implementation repository, should go away

int TAO_SCIOP_Acceptor::close ( void  ) [virtual]

Implements TAO_Acceptor.

int TAO_SCIOP_Acceptor::create_new_profile ( const TAO::ObjectKey &  object_key,
TAO_MProfile mprofile,
CORBA::Short  priority 
) [protected]

Helper method to add a new profile to the mprofile for each endpoint.

int TAO_SCIOP_Acceptor::create_profile ( const TAO::ObjectKey &  object_key,
TAO_MProfile mprofile,
CORBA::Short  priority 
) [virtual]

Implements TAO_Acceptor.

int TAO_SCIOP_Acceptor::create_shared_profile ( const TAO::ObjectKey &  object_key,
TAO_MProfile mprofile,
CORBA::Short  priority 
) [protected]

Helper method to create a profile that contains all of our endpoints.

int TAO_SCIOP_Acceptor::dotted_decimal_address ( ACE_INET_Addr addr,
char *&  host 
)

Set the host name for the given address using the dotted decimal format.

CORBA::ULong TAO_SCIOP_Acceptor::endpoint_count ( void  ) [virtual]

Implements TAO_Acceptor.

const ACE_INET_Addr * TAO_SCIOP_Acceptor::endpoints ( void  ) [inline]

Returns the array of endpoints in this acceptor.

int TAO_SCIOP_Acceptor::hostname ( TAO_ORB_Core orb_core,
ACE_INET_Addr addr,
char *&  host,
const char *  specified_hostname = 0 
)

Set the host name for the given addr. A hostname may be forced by using specified_hostname. This is useful if the given address corresponds to more than one hostname and the desired one cannot be determined in any other way.

int TAO_SCIOP_Acceptor::init_tcp_properties ( void  ) [protected]

Obtain tcp properties that must be used by this acceptor, i.e., initialize <tcp_properties_>.

int TAO_SCIOP_Acceptor::is_collocated ( const TAO_Endpoint endpoint) [virtual]

Implements TAO_Acceptor.

int TAO_SCIOP_Acceptor::object_key ( IOP::TaggedProfile profile,
TAO::ObjectKey &  key 
) [virtual]

Implements TAO_Acceptor.

int TAO_SCIOP_Acceptor::open ( TAO_ORB_Core orb_core,
ACE_Reactor reactor,
int  version_major,
int  version_minor,
const char *  address,
const char *  options = 0 
) [virtual]

The TAO_Acceptor methods, check the documentation in Transport_Acceptor.h for details.

Implements TAO_Acceptor.

int TAO_SCIOP_Acceptor::open_default ( TAO_ORB_Core orb_core,
ACE_Reactor reactor,
int  version_major,
int  version_minor,
const char *  options = 0 
) [virtual]

Implements TAO_Acceptor.

int TAO_SCIOP_Acceptor::open_i ( const ACE_Multihomed_INET_Addr addr,
ACE_Reactor reactor 
) [protected, virtual]

Implement the common part of the open*() methods. This method is virtual to allow a derived class implementation to be invoked instead.

int TAO_SCIOP_Acceptor::parse_multiple_hostnames ( const char *  hostnames,
ACE_Array< ACE_CString > &  hostnames_out 
) [protected]

Split the string into hostnames separated by the plus character ('+').

int TAO_SCIOP_Acceptor::parse_options ( const char *  options) [protected, virtual]

Parse protocol specific options.

Currently supported: portspan -- specifies the range of ports over which the acceptor should scan looking for a free port (this is convenient for situations where you might normally use an ephemeral port but can't because you're behind a firewall and don't want to permit passage on all ephemeral ports)

int TAO_SCIOP_Acceptor::probe_interfaces ( TAO_ORB_Core orb_core) [protected]

Probe the system for available network interfaces, and initialize the <addrs_> array with an ACE_INET_Addr for each network interface. The port for each initialized ACE_INET_Addr will be set in the open_i() method. This method only gets invoked when no explicit hostname is provided in the specified endpoint.


Member Data Documentation

Array of ACE_INET_Addr instances, each one corresponding to a given network interface.

the concrete acceptor, as a pointer to it's base class.

Acceptor strategies.

The number of host names cached in the hosts_ array (equivalent to the number of endpoints opened by this Acceptor).

Override the hostname used in the ORBEndPoint.

char** TAO_SCIOP_Acceptor::hosts_ [protected]

Cache the information about the endpoints serviced by this acceptor. There may in fact be multiple hostnames for this endpoint. For example, if the IP address is INADDR_ANY (0.0.0.0) then there will be possibly a different hostname for each interface.

ORB Core.

u_short TAO_SCIOP_Acceptor::port_span_ [protected]

The number of ports over which the acceptor should search (starting at the port specified in each element of addrs_) for an available port. This is specified via the "portspan=" option to the endpoint.

The GIOP version for this endpoint @ Theoretically they shouldn't be here!! We need to look at a way to move this out


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