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:

[legend]
List of all members.

## TAO_Endpoint Template Methods

Abstract methods to be implemented by concrete subclasses.
virtual CORBA::Boolean | is_equivalent (const TAO_Endpoint *other_endpoint)=0
virtual TAO_Endpoint * | next (void)=0
| Endpoints can be stringed in a list.
virtual int | addr_to_string (char *buffer, size_t length)=0
| Return a string representation for the address.
virtual TAO_Endpoint * | duplicate (void)=0
virtual CORBA::ULong | hash (void)=0
| Return a hash value for this object.
TAO_SYNCH_MUTEX | addr_lookup_lock_
| Lock for the address lookup.
CORBA::ULong | hash_val_
| Cache the hash value.
| TAO_Endpoint (const TAO_Endpoint &)
| Endpoints should not be copied.
void | operator= (const TAO_Endpoint &)
CORBA::ULong | tag_
CORBA::Short | priority_

## Public Methods

| TAO_Endpoint (CORBA::ULong tag, CORBA::Short priority=TAO_INVALID_PRIORITY)
| Constructor.
virtual | ~TAO_Endpoint (void)
| Destructor.
CORBA::ULong | tag (void) const
| IOP protocol tag accessor.
void | priority (CORBA::Short priority)
| <priority_> attribute setter.
CORBA::Short | priority (void) const
| <priority_> attribute getter.

## 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).

## Constructor & Destructor Documentation

ACE_INLINE TAO_Endpoint::TAO_Endpoint | ( | CORBA::ULong | tag,
|  | CORBA::Short | priority = TAO_INVALID_PRIORITY
| ) |

| Constructor.

TAO_Endpoint::~TAO_Endpoint | ( | void |  | ) | `[virtual]`

| Destructor.

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.

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.

Returns:
  -1 if buffer is too small.

Implemented in TAO_IIOP_Endpoint.

virtual TAO_Endpoint* TAO_Endpoint::duplicate | ( | void |  | ) | `[pure virtual]`

| This method returns a deep copy of the corresponding endpoints by allocating memory. Implemented in TAO_IIOP_Endpoint.

virtual CORBA::ULong TAO_Endpoint::hash | ( | void |  | ) | `[pure virtual]`

| Return a hash value for this object. Implemented in TAO_IIOP_Endpoint.

virtual CORBA::Boolean TAO_Endpoint::is_equivalent | ( | const TAO_Endpoint * | other_endpoint | ) | `[pure virtual]`

Returns:
  true if this endpoint is equivalent to other_endpoint.

Implemented in TAO_IIOP_Endpoint.

virtual TAO_Endpoint* TAO_Endpoint::next | ( | void |  | ) | `[pure virtual]`

Endpoints can be stringed in a list.

Returns:
  The next endpoint in the list, if any.

Implemented in TAO_IIOP_Endpoint.

void TAO_Endpoint::operator= | ( | const TAO_Endpoint & |  | ) | `[private]`

Returns:
  true if this endpoint is equivalent to other_endpoint.

ACE_INLINE CORBA::Short TAO_Endpoint::priority | ( | void |  | ) | const

| <priority_> attribute getter.

ACE_INLINE void TAO_Endpoint::priority | ( | CORBA::Short | priority | ) |

| <priority_> attribute setter.

ACE_INLINE CORBA::ULong TAO_Endpoint::tag | ( | void |  | ) | const

| IOP protocol tag accessor.

## Member Data Documentation

TAO_SYNCH_MUTEX TAO_Endpoint::addr_lookup_lock_`[protected]`

Lock for the address lookup.

Todo:
  This lock should be strategized so that we dont lock in single threaded configurations. It is not possible to do this now as most of the information is available in the ORB_Core which is not available here.

CORBA::ULong TAO_Endpoint::hash_val_`[protected]`

| Cache the hash value.

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.

CORBA::ULong TAO_Endpoint::tag_`[private]`

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

The documentation for this class was generated from the following files:

- Endpoint.h
- Endpoint.cpp
- Endpoint.i