TAO_Strategies 3.1.4
Loading...
Searching...
No Matches
Public Member Functions | List of all members
TAO_DIOP_Acceptor Class Reference

TAO_DIOP_Acceptor. More...

#include <DIOP_Acceptor.h>

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

Public Member Functions

 TAO_DIOP_Acceptor ()
 Constructor.
 
 ~TAO_DIOP_Acceptor ()
 Destructor.
 
const ACE_INET_Addraddress () const
 
const ACE_INET_Addrendpoints ()
 Returns the array of endpoints in this acceptor.
 
const ACE_INET_Addrdefault_address () const
 Returns address for default endpoint.
 
void set_default_address (const ACE_INET_Addr &addr)
 Set address for default endpoint.
 
- Public Member Functions inherited from TAO_Acceptor
 TAO_Acceptor (CORBA::ULong tag)
 
virtual ~TAO_Acceptor ()
 
CORBA::ULong tag () const
 
void set_error_retry_delay (time_t delay)
 
int handle_accept_error (ACE_Event_Handler *base_acceptor)
 
int handle_expiration (ACE_Event_Handler *base_acceptor)
 

The TAO_Acceptor Methods

Please check the documentation in Transport_Acceptor.h for details.

ACE_INET_Addraddrs_
 
unsigned short port_span_
 
char ** hosts_
 
CORBA::ULong endpoint_count_
 
TAO_GIOP_Message_Version version_
 
TAO_ORB_Coreorb_core_
 ORB Core.
 
ACE_INET_Addr default_address_
 Address for default endpoint.
 
TAO_DIOP_Connection_Handlerconnection_handler_
 
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 ()
 
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 ()
 
virtual int object_key (IOP::TaggedProfile &profile, TAO::ObjectKey &key)
 
virtual 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)
 
int parse_address (const char *address, ACE_INET_Addr &addr, ACE_CString &specified_hostname, int *def_type=0)
 
virtual int open_i (const ACE_INET_Addr &addr, ACE_Reactor *reactor)
 
int probe_interfaces (TAO_ORB_Core *orb_core, int def_type=AF_UNSPEC)
 
virtual int parse_options (const char *options)
 
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)
 

Detailed Description

TAO_DIOP_Acceptor.

The DIOP-specific bridge class for the concrete acceptor.

Constructor & Destructor Documentation

◆ TAO_DIOP_Acceptor()

TAO_DIOP_Acceptor::TAO_DIOP_Acceptor ( )

Constructor.

◆ ~TAO_DIOP_Acceptor()

TAO_DIOP_Acceptor::~TAO_DIOP_Acceptor ( )

Destructor.

Member Function Documentation

◆ address()

const ACE_INET_Addr & TAO_DIOP_Acceptor::address ( ) const
inline

@ Helper method for the implementation repository, should go away

◆ close()

int TAO_DIOP_Acceptor::close ( )
virtual

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

Implements TAO_Acceptor.

◆ create_new_profile()

int TAO_DIOP_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.

◆ create_profile()

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

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

Implements TAO_Acceptor.

◆ create_shared_profile()

int TAO_DIOP_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.

◆ default_address()

const ACE_INET_Addr & TAO_DIOP_Acceptor::default_address ( ) const
inline

Returns address for default endpoint.

◆ dotted_decimal_address()

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

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

◆ endpoint_count()

CORBA::ULong TAO_DIOP_Acceptor::endpoint_count ( )
virtual

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

Implements TAO_Acceptor.

◆ endpoints()

const ACE_INET_Addr * TAO_DIOP_Acceptor::endpoints ( )
inline

Returns the array of endpoints in this acceptor.

◆ hostname()

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

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.

◆ is_collocated()

int TAO_DIOP_Acceptor::is_collocated ( const TAO_Endpoint * endpoint)
virtual

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

Implements TAO_Acceptor.

◆ object_key()

int TAO_DIOP_Acceptor::object_key ( IOP::TaggedProfile & profile,
TAO::ObjectKey & key )
virtual

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

Implements TAO_Acceptor.

◆ open()

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

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

Implements TAO_Acceptor.

◆ open_default()

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

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

Implements TAO_Acceptor.

◆ open_i()

int TAO_DIOP_Acceptor::open_i ( const ACE_INET_Addr & addr,
ACE_Reactor * reactor )
protectedvirtual

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

◆ parse_address()

int TAO_DIOP_Acceptor::parse_address ( const char * address,
ACE_INET_Addr & addr,
ACE_CString & specified_hostname,
int * def_type = 0 )
protected

Helper method Clear out 'addr' & 'specified_hostname' and initialize them based upon 'address'. If a non-zero pointer is passed in for def_type, this will be set to AF_INET6 if IPv6 support is enabled and supplied hostname is either [] or [::]. It will be set to AF_INET if the hostname is 0.0.0.0, otherwise it is set to AF_UNSPEC. This value is then passed to probe_interfaces by open.

◆ parse_options()

int TAO_DIOP_Acceptor::parse_options ( const char * options)
protectedvirtual

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)

◆ probe_interfaces()

int TAO_DIOP_Acceptor::probe_interfaces ( TAO_ORB_Core * orb_core,
int def_type = AF_UNSPEC )
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.

The optional argument def_type is used to constrain the resulting list of interfaces to be either only IPv6 or IPv4, or both, when ACE_HAS_IPV6 is enabled and the source endpoint was an explicitly declared wildcard.

◆ set_default_address()

void TAO_DIOP_Acceptor::set_default_address ( const ACE_INET_Addr & addr)
inline

Set address for default endpoint.

Member Data Documentation

◆ addrs_

ACE_INET_Addr* TAO_DIOP_Acceptor::addrs_
protected

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

◆ connection_handler_

TAO_DIOP_Connection_Handler* TAO_DIOP_Acceptor::connection_handler_
private

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

◆ default_address_

ACE_INET_Addr TAO_DIOP_Acceptor::default_address_
protected

Address for default endpoint.

◆ endpoint_count_

CORBA::ULong TAO_DIOP_Acceptor::endpoint_count_
protected

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

◆ hosts_

char** TAO_DIOP_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_

TAO_ORB_Core* TAO_DIOP_Acceptor::orb_core_
protected

ORB Core.

◆ port_span_

unsigned short TAO_DIOP_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.

◆ version_

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