#include <IIOP_Acceptor.h>
Inheritance diagram for TAO_IIOP_Acceptor:
Public Types | |
typedef ACE_Strategy_Acceptor< TAO_IIOP_Connection_Handler, ACE_SOCK_ACCEPTOR > | BASE_ACCEPTOR |
typedef TAO_Creation_Strategy< TAO_IIOP_Connection_Handler > | CREATION_STRATEGY |
typedef TAO_Concurrency_Strategy< TAO_IIOP_Connection_Handler > | CONCURRENCY_STRATEGY |
typedef TAO_Accept_Strategy< TAO_IIOP_Connection_Handler, ACE_SOCK_ACCEPTOR > | ACCEPT_STRATEGY |
Public Member Functions | |
TAO_IIOP_Acceptor (CORBA::Boolean flag=0) | |
Constructor. | |
~TAO_IIOP_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) |
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 Member Functions | |
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 | 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_ |
unsigned short | port_span_ |
char ** | hosts_ |
char * | hostname_in_ior_ |
CORBA::ULong | endpoint_count_ |
TAO_GIOP_Message_Version | version_ |
TAO_ORB_Core * | orb_core_ |
ORB Core. | |
const bool | lite_flag_ |
Should we use GIOP lite?? | |
Private Attributes | |
BASE_ACCEPTOR | base_acceptor_ |
the concrete acceptor, as a pointer to it's base class. | |
CREATION_STRATEGY * | creation_strategy_ |
Acceptor strategies. | |
CONCURRENCY_STRATEGY * | concurrency_strategy_ |
ACCEPT_STRATEGY * | accept_strategy_ |
The IIOP-specific bridge class for the concrete acceptor.
|
|
|
|
|
|
|
|
|
Constructor.
|
|
Destructor.
|
|
@ Helper method for the implementation repository, should go away |
|
Closes the acceptor.
Implements TAO_Acceptor. |
|
Helper method to add a new profile to the mprofile for each endpoint. |
|
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. |
|
Helper method to create a profile that contains all of our endpoints. |
|
Set the host name for the given address using the dotted decimal format. |
|
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. |
|
Returns the array of endpoints in this acceptor.
|
|
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. |
|
Return 1 if the <endpoint> has the same address as the acceptor.
Implements TAO_Acceptor. |
|
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. |
|
The TAO_Acceptor methods, check the documentation in Transport_Acceptor.h for details. Implements TAO_Acceptor. |
|
Open an acceptor with the given protocol version on a default endpoint Implements TAO_Acceptor. |
|
Implement the common part of the open*() methods. This method is virtual to allow a derived class implementation to be invoked instead. |
|
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 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. |
|
|
|
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. |
|
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. |
|
Should we use GIOP lite??
|
|
ORB Core.
|
|
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 |