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

[legend]
Collaboration diagram for TAO_IIOP_Acceptor:

[legend]
List of all members.

## Public Types
typedef ACE_Strategy_Acceptor< TAO_IIOP_Connection_Handler, ACE_SOCK_ACCEPTOR> | TAO_IIOP_BASE_ACCEPTOR
typedef TAO_Creation_Strategy< TAO_IIOP_Connection_Handler> | TAO_IIOP_CREATION_STRATEGY
typedef TAO_Concurrency_Strategy< TAO_IIOP_Connection_Handler> | TAO_IIOP_CONCURRENCY_STRATEGY
typedef TAO_Accept_Strategy< TAO_IIOP_Connection_Handler, ACE_SOCK_ACCEPTOR> | TAO_IIOP_ACCEPT_STRATEGY
## Public Methods
| TAO_IIOP_Acceptor (CORBA::Boolean flag = 0)
| Constructor.
| ~TAO_IIOP_Acceptor (void)
| Destructor.
const ACE_INET_Addr& | address (void) const
| Helper method for the implementation repository, should go away. More...
const ACE_INET_Addr* | endpoints (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)
| Obtain tcp properties that must be used by this acceptor, i.e., initialize <tcp_properties_>.
int | 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 | 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.
## Protected Attributes
ACE_INET_Addr* | addrs_
| Array of ACE_INET_Addr instances, each one corresponding to a given network interface.
u_short | port_span_
char** | hosts_
size_t | endpoint_count_
| The number of host names cached in the hosts_ array (equivalent to the number of endpoints opened by this Acceptor).
TAO_GIOP_Message_Version | version_
TAO_ORB_Core* | orb_core_
| ORB Core.
TAO_IIOP_Properties | tcp_properties_
| TCP configuration properties to be used for all connections opened by this acceptor.
CORBA::Boolean | lite_flag_
| Should we use GIOP lite??
## Private Attributes
TAO_IIOP_BASE_ACCEPTOR | base_acceptor_
| the concrete acceptor, as a pointer to it's base class.
TAO_IIOP_CREATION_STRATEGY* | creation_strategy_
| Acceptor strategies.
TAO_IIOP_CONCURRENCY_STRATEGY* | concurrency_strategy_
TAO_IIOP_ACCEPT_STRATEGY* | accept_strategy_

## Detailed Description

TAO_IIOP_Acceptor.

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 )`[inline]`

| Constructor.

TAO_IIOP_Acceptor::~TAO_IIOP_Acceptor ( | void )

| Destructor.

## 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. Reimplemented from TAO_Acceptor.

int TAO_IIOP_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_IIOP_Acceptor::create_profile ( | const TAO_ObjectKey & object_key,
| TAO_MProfile & mprofile,
| CORBA::Short priority )`[virtual]`

| 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. Reimplemented from TAO_Acceptor.

int TAO_IIOP_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_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. Reimplemented from 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. Reimplemented from TAO_Acceptor.

int TAO_IIOP_Acceptor::object_key ( | IOP::TaggedProfile & profile,
| TAO_ObjectKey & object_key )`[virtual]`

| 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. Reimplemented from 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 )`[virtual]`

| The TAO_Acceptor methods, check the documentation in Pluggable.h for details. Reimplemented from TAO_Acceptor.

int TAO_IIOP_Acceptor::open_default ( | TAO_ORB_Core * orb_core,
| ACE_Reactor * reactor,
| int major,
| int minor,
| const char * options = 0 )`[virtual]`

| Open an acceptor with the given protocol version on a default endpoint @ This method should be pure virtual, but in order to maintain some form of backward compatibilty, a default implementation is provided. Ideally, that default implementation should be removed in the near future. Reimplemented from 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 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.

size_t 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::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.

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:

- IIOP_Acceptor.h
- IIOP_Acceptor.cpp
- IIOP_Acceptor.i