- Main Page
- Classes
- Files
- Related Pages

- Search for |

- Alphabetical List
- Class List
- Class Hierarchy
- Class Members

# TAO_SCIOP_Acceptor Class Reference

TAO_SCIOP_Acceptor. More...

`#include <SCIOP_Acceptor.h>`

Inheritance diagram for TAO_SCIOP_Acceptor:

[legend]
Collaboration diagram for TAO_SCIOP_Acceptor:

[legend]
List of all members.

## Public Types
typedef ACE_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 (CORBA::Boolean flag=0)
| Constructor.
| ~TAO_SCIOP_Acceptor (void)
| Destructor.
const ACE_INET_Addr & | address (void) const
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)
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_Addr * | addrs_
u_short | port_span_
char ** | hosts_
CORBA::ULong | endpoint_count_
char * | hostname_in_ior_
TAO_GIOP_Message_Version | version_
TAO_ORB_Core * | orb_core_
| ORB Core.
CORBA::Boolean | lite_flag_
| Should we use GIOP lite??
## Private Attributes
TAO_SCIOP_BASE_ACCEPTOR | base_acceptor_
| the concrete acceptor, as a pointer to it's base class.
TAO_SCIOP_CREATION_STRATEGY * | creation_strategy_
| Acceptor strategies.
TAO_SCIOP_CONCURRENCY_STRATEGY * | concurrency_strategy_
TAO_SCIOP_ACCEPT_STRATEGY * | accept_strategy_

## Detailed Description

TAO_SCIOP_Acceptor.

The SCIOP-specific bridge class for the concrete acceptor.

## Member Typedef Documentation

typedef TAO_Accept_Strategy<TAO_SCIOP_Connection_Handler, ACE_SOCK_SEQPACK_ACCEPTOR> TAO_SCIOP_Acceptor::TAO_SCIOP_ACCEPT_STRATEGY

typedef ACE_Strategy_Acceptor<TAO_SCIOP_Connection_Handler, ACE_SOCK_SEQPACK_ACCEPTOR> TAO_SCIOP_Acceptor::TAO_SCIOP_BASE_ACCEPTOR

typedef TAO_Concurrency_Strategy<TAO_SCIOP_Connection_Handler> TAO_SCIOP_Acceptor::TAO_SCIOP_CONCURRENCY_STRATEGY

typedef TAO_Creation_Strategy<TAO_SCIOP_Connection_Handler> TAO_SCIOP_Acceptor::TAO_SCIOP_CREATION_STRATEGY

## Constructor & Destructor Documentation

TAO_BEGIN_VERSIONED_NAMESPACE_DECL TAO_SCIOP_Acceptor::TAO_SCIOP_Acceptor | ( | CORBA::Boolean | flag = `0` | ) |

Constructor.

TAO_SCIOP_Acceptor::~TAO_SCIOP_Acceptor | ( | void |  | ) |

Destructor.

## Member Function Documentation

TAO_BEGIN_VERSIONED_NAMESPACE_DECL ACE_INLINE const ACE_INET_Addr & TAO_SCIOP_Acceptor::address | ( | void |  | ) | const

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

ACE_INLINE const ACE_INET_Addr * TAO_SCIOP_Acceptor::endpoints | ( | void |  | ) |

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

TAO_SCIOP_ACCEPT_STRATEGY* TAO_SCIOP_Acceptor::accept_strategy_`[private]`

ACE_INET_Addr* TAO_SCIOP_Acceptor::addrs_`[protected]`

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

TAO_SCIOP_BASE_ACCEPTOR TAO_SCIOP_Acceptor::base_acceptor_`[private]`

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

TAO_SCIOP_CONCURRENCY_STRATEGY* TAO_SCIOP_Acceptor::concurrency_strategy_`[private]`

TAO_SCIOP_CREATION_STRATEGY* TAO_SCIOP_Acceptor::creation_strategy_`[private]`

Acceptor strategies.

CORBA::ULong TAO_SCIOP_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_SCIOP_Acceptor::hostname_in_ior_`[protected]`

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.

CORBA::Boolean TAO_SCIOP_Acceptor::lite_flag_`[protected]`

Should we use GIOP lite??

TAO_ORB_Core* TAO_SCIOP_Acceptor::orb_core_`[protected]`

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.

TAO_GIOP_Message_Version TAO_SCIOP_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:

- SCIOP_Acceptor.h
- SCIOP_Acceptor.cpp
- SCIOP_Acceptor.i