Main Page   Namespace List   Class Hierarchy   Alphabetical List   Compound List   File List   Namespace Members   Compound Members   File Members   Related Pages  

TAO_IIOP_Acceptor Class Reference

TAO_IIOP_Acceptor. More...

#include <IIOP_Acceptor.h>

Inheritance diagram for TAO_IIOP_Acceptor:

Inheritance graph
Collaboration diagram for TAO_IIOP_Acceptor:

Collaboration graph
List of all members.

Public Types

typedef ACE_Strategy_Acceptor<
typedef TAO_Creation_Strategy<
typedef TAO_Concurrency_Strategy<
typedef TAO_Accept_Strategy<

Public Methods

 TAO_IIOP_Acceptor (CORBA::Boolean flag=0)

 ~TAO_IIOP_Acceptor (void)

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)
 Closes the acceptor.

virtual int create_profile (const TAO::ObjectKey &object_key, TAO_MProfile &mprofile, CORBA::Short priority)
virtual int is_collocated (const TAO_Endpoint *endpoint)
 Return 1 if the <endpoint> has the same address as the acceptor.

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 Methods

virtual int open_i (const ACE_INET_Addr &addr, ACE_Reactor *reactor)
int probe_interfaces (TAO_ORB_Core *orb_core)
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

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

TAO_IIOP_Properties tcp_properties_
CORBA::Boolean lite_flag_
 Should we use GIOP lite??

Private Attributes

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

 Acceptor strategies.


Detailed Description


The IIOP-specific bridge class for the concrete acceptor.

Member Typedef Documentation

typedef TAO_Accept_Strategy<TAO_IIOP_Connection_Handler, ACE_SOCK_ACCEPTOR> TAO_IIOP_Acceptor::TAO_IIOP_ACCEPT_STRATEGY

typedef ACE_Strategy_Acceptor<TAO_IIOP_Connection_Handler, ACE_SOCK_ACCEPTOR> TAO_IIOP_Acceptor::TAO_IIOP_BASE_ACCEPTOR

typedef TAO_Concurrency_Strategy<TAO_IIOP_Connection_Handler> TAO_IIOP_Acceptor::TAO_IIOP_CONCURRENCY_STRATEGY

typedef TAO_Creation_Strategy<TAO_IIOP_Connection_Handler> TAO_IIOP_Acceptor::TAO_IIOP_CREATION_STRATEGY

Constructor & Destructor Documentation

TAO_IIOP_Acceptor::TAO_IIOP_Acceptor CORBA::Boolean    flag = 0


TAO_IIOP_Acceptor::~TAO_IIOP_Acceptor void   


Member Function Documentation

ACE_INLINE const ACE_INET_Addr & TAO_IIOP_Acceptor::address void    const

@ Helper method for the implementation repository, should go away

int TAO_IIOP_Acceptor::close void    [virtual]

Closes the acceptor.

Implements TAO_Acceptor.

int TAO_IIOP_Acceptor::create_new_profile const TAO::ObjectKey   object_key,
TAO_MProfile   mprofile,
CORBA::Short    priority

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

int TAO_IIOP_Acceptor::create_profile const TAO::ObjectKey   object_key,
TAO_MProfile   mprofile,
CORBA::Short    priority

Create the corresponding profile for this endpoint. If share_profile is set to true, the pluggable protocol implementation should try to add the endpoint to a profile in the mprofile that is of the same type. Currently, this is used when RT CORBA is enabled.

Implements TAO_Acceptor.

int TAO_IIOP_Acceptor::create_shared_profile const TAO::ObjectKey   object_key,
TAO_MProfile   mprofile,
CORBA::Short    priority

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

int TAO_IIOP_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_IIOP_Acceptor::endpoint_count void    [virtual]

Returns the number of endpoints this acceptor is listening on. This is used for determining how many profiles will be generated for this acceptor.

Implements TAO_Acceptor.

ACE_INLINE const ACE_INET_Addr * TAO_IIOP_Acceptor::endpoints void   

Returns the array of endpoints in this acceptor.

int TAO_IIOP_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_IIOP_Acceptor::init_tcp_properties void    [protected]

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

int TAO_IIOP_Acceptor::is_collocated const TAO_Endpoint   endpoint [virtual]

Return 1 if the <endpoint> has the same address as the acceptor.

Implements TAO_Acceptor.

int TAO_IIOP_Acceptor::object_key IOP::TaggedProfile   profile,
TAO::ObjectKey   key

This method fetches the <key> from the <profile>. Protocols that are pluggable can send data that are specific in the <profile_data> field encapsulated as a octet stream. This method allows those protocols to get the object key from the encapsulation.

Implements TAO_Acceptor.

int TAO_IIOP_Acceptor::open TAO_ORB_Core   orb_core,
ACE_Reactor   reactor,
int    version_major,
int    version_minor,
const char *    address,
const char *    options = 0

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

Implements TAO_Acceptor.

int TAO_IIOP_Acceptor::open_default TAO_ORB_Core   orb_core,
ACE_Reactor   reactor,
int    version_major,
int    version_minor,
const char *    options = 0

Open an acceptor with the given protocol version on a default endpoint

Implements TAO_Acceptor.

int TAO_IIOP_Acceptor::open_i const ACE_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_IIOP_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_IIOP_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

TAO_IIOP_ACCEPT_STRATEGY* TAO_IIOP_Acceptor::accept_strategy_ [private]

ACE_INET_Addr* TAO_IIOP_Acceptor::addrs_ [protected]

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

TAO_IIOP_BASE_ACCEPTOR TAO_IIOP_Acceptor::base_acceptor_ [private]

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

TAO_IIOP_CONCURRENCY_STRATEGY* TAO_IIOP_Acceptor::concurrency_strategy_ [private]

TAO_IIOP_CREATION_STRATEGY* TAO_IIOP_Acceptor::creation_strategy_ [private]

Acceptor strategies.

CORBA::ULong TAO_IIOP_Acceptor::endpoint_count_ [protected]

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

char* TAO_IIOP_Acceptor::hostname_in_ior_ [protected]

Override the hostname used in the ORBEndPoint.

char** TAO_IIOP_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 ( then there will be possibly a different hostname for each interface.

CORBA::Boolean TAO_IIOP_Acceptor::lite_flag_ [protected]

Should we use GIOP lite??

TAO_ORB_Core* TAO_IIOP_Acceptor::orb_core_ [protected]

ORB Core.

u_short TAO_IIOP_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.

TAO_IIOP_Properties TAO_IIOP_Acceptor::tcp_properties_ [protected]

TCP configuration properties to be used for all connections opened by this acceptor.

TAO_GIOP_Message_Version TAO_IIOP_Acceptor::version_ [protected]

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:
Generated on Fri Apr 2 17:32:59 2004 for TAO by doxygen1.2.18