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

TAO_Endpoint Class Reference

Defines the Endpoint interface in the Pluggable Protocol framework. More...

#include <Endpoint.h>

Inheritance diagram for TAO_Endpoint:

Inheritance graph
[legend]
List of all members.

Public Methods

 TAO_Endpoint (CORBA::ULong tag, CORBA::Short priority=TAO_INVALID_PRIORITY)
 Constructor. More...

virtual ~TAO_Endpoint (void)
 Destructor. More...

CORBA::ULong tag (void) const
 IOP protocol tag accessor. More...

void priority (CORBA::Short priority)
 <priority_> attribute setter. More...

CORBA::Short priority (void) const
 <priority_> attribute getter. More...

virtual CORBA::Boolean is_equivalent (const TAO_Endpoint *other_endpoint)=0
 Return true if this endpoint is equivalent to <other_endpoint>. Two endpoints are equivalent iff their port and host are the same. More...

virtual TAO_Endpoint * next (void)=0
 Endpoints can be stringed in a list. Return the next endpoint in the list, if any. More...

virtual int addr_to_string (char *buffer, size_t length)=0
virtual void reset_hint (void)=0
 This method is used when a connection has been reset, requiring the hint to be cleaned up and reset to NULL. More...

virtual TAO_Endpoint * duplicate (void)=0
 This method returns a copy of the corresponding endpoints by allocation memory. More...

virtual CORBA::ULong hash (void)=0
 Return a hash value for this object. More...


Protected Attributes

TAO_SYNCH_MUTEX addr_lookup_lock_
 Lock for the address lookup. @todo: This lock should be strategised so that we dont lock in single threaded configurations. I am not able to do this now as most of the information is available in the ORB_Core which is not available here... More...


Private Methods

 TAO_Endpoint (const TAO_Endpoint &)
 Endpoints should not be copied. More...

void operator= (const TAO_Endpoint &)

Private Attributes

CORBA::ULong tag_
 IOP tag, identifying the protocol for which this endpoint contains addressing info. More...

CORBA::Short priority_

Detailed Description

Defines the Endpoint interface in the Pluggable Protocol framework.

Lightweight encapsulation of addressing information for a single acceptor endpoint. In other words, Endpoint represents a single point of contact for the server, and is the smallest unit of addressing information necessary for a client to connect to a server. A Profile contains one or more Endpoints, i.e., knows of one or more ways to contact server(s).

Definition at line 44 of file Endpoint.h.


Constructor & Destructor Documentation

ACE_INLINE TAO_Endpoint::TAO_Endpoint CORBA::ULong    tag,
CORBA::Short    priority = TAO_INVALID_PRIORITY
 

Constructor.

Definition at line 5 of file Endpoint.i.

00007   : tag_ (tag),
00008     priority_ (priority)
00009 {
00010 }

TAO_Endpoint::~TAO_Endpoint void    [virtual]
 

Destructor.

Definition at line 13 of file Endpoint.cpp.

00014 {
00015 }

TAO_Endpoint::TAO_Endpoint const TAO_Endpoint &    [private]
 

Endpoints should not be copied.


Member Function Documentation

virtual int TAO_Endpoint::addr_to_string char *    buffer,
size_t    length
[pure virtual]
 

Return a string representation for the address. Returns -1 if buffer is too small. The purpose of this method is to provide a general interface to the underlying address object's addr_to_string method. This allows the protocol implementor to select the appropriate string format.

Implemented in TAO_IIOP_Endpoint.

virtual TAO_Endpoint* TAO_Endpoint::duplicate void    [pure virtual]
 

This method returns a copy of the corresponding endpoints by allocation memory.

Implemented in TAO_IIOP_Endpoint.

Referenced by TAO_Base_Transport_Property::duplicate.

virtual CORBA::ULong TAO_Endpoint::hash void    [pure virtual]
 

Return a hash value for this object.

Implemented in TAO_IIOP_Endpoint.

Referenced by TAO_Base_Transport_Property::hash.

virtual CORBA::Boolean TAO_Endpoint::is_equivalent const TAO_Endpoint *    other_endpoint [pure virtual]
 

Return true if this endpoint is equivalent to <other_endpoint>. Two endpoints are equivalent iff their port and host are the same.

Implemented in TAO_IIOP_Endpoint.

Referenced by TAO_Base_Transport_Property::is_equivalent.

virtual TAO_Endpoint* TAO_Endpoint::next void    [pure virtual]
 

Endpoints can be stringed in a list. Return the next endpoint in the list, if any.

Implemented in TAO_IIOP_Endpoint.

Referenced by TAO_Acceptor_Registry::is_collocated, and TAO_IIOP_Profile::~TAO_IIOP_Profile.

void TAO_Endpoint::operator= const TAO_Endpoint &    [private]
 

ACE_INLINE CORBA::Short TAO_Endpoint::priority void    const
 

<priority_> attribute getter.

Definition at line 19 of file Endpoint.i.

References priority_.

Referenced by TAO_IIOP_Endpoint::TAO_IIOP_Endpoint.

00020 {
00021   return this->priority_;
00022 }

ACE_INLINE void TAO_Endpoint::priority CORBA::Short    priority
 

<priority_> attribute setter.

Definition at line 25 of file Endpoint.i.

References priority_.

Referenced by TAO_IIOP_Acceptor::create_new_profile, TAO_IIOP_Acceptor::create_shared_profile, TAO_IIOP_Profile::decode_endpoints, TAO_IIOP_Profile::encode_endpoints, TAO_IIOP_Profile::encode_endpoints_for_rt, and TAO_IIOP_Endpoint::TAO_IIOP_Endpoint.

00026 {
00027   this->priority_ = p;
00028 }

virtual void TAO_Endpoint::reset_hint void    [pure virtual]
 

This method is used when a connection has been reset, requiring the hint to be cleaned up and reset to NULL.

Implemented in TAO_IIOP_Endpoint.

Referenced by TAO_GIOP_Invocation::close_connection, and TAO_Stub::~TAO_Stub.

ACE_INLINE CORBA::ULong TAO_Endpoint::tag void    const
 

IOP protocol tag accessor.

Definition at line 13 of file Endpoint.i.

References tag_.

Referenced by TAO_Connector_Registry::connect, TAO_Connector_Registry::get_connector, and TAO_IIOP_Connector::remote_endpoint.

00014 {
00015   return this->tag_;
00016 }


Member Data Documentation

TAO_SYNCH_MUTEX TAO_Endpoint::addr_lookup_lock_ [protected]
 

Lock for the address lookup. @todo: This lock should be strategised so that we dont lock in single threaded configurations. I am not able to do this now as most of the information is available in the ORB_Core which is not available here...

Definition at line 100 of file Endpoint.h.

Referenced by TAO_IIOP_Endpoint::object_addr.

CORBA::Short TAO_Endpoint::priority_ [private]
 

CORBA priority of the acceptor this Endpoint is representing. This is part of TAO 'prioritized endpoints' architecture, and is currently used for RTCORBA only.

Definition at line 117 of file Endpoint.h.

Referenced by priority.

CORBA::ULong TAO_Endpoint::tag_ [private]
 

IOP tag, identifying the protocol for which this endpoint contains addressing info.

Definition at line 110 of file Endpoint.h.

Referenced by tag.


The documentation for this class was generated from the following files:
Generated on Mon Jun 16 15:14:39 2003 for TAO by doxygen1.2.14 written by Dimitri van Heesch, © 1997-2002