#include <Transport_Descriptor_Interface.h>
Inheritance diagram for TAO_Transport_Descriptor_Interface:
Public Member Functions | |
virtual | ~TAO_Transport_Descriptor_Interface (void) |
Destructor. | |
virtual TAO_Transport_Descriptor_Interface * | duplicate (void)=0 |
virtual CORBA::Boolean | is_equivalent (const TAO_Transport_Descriptor_Interface *other_prop)=0 |
Try to determine if this object is same as the other_prop. | |
virtual u_long | hash (void) const =0 |
Generate hash value for our class. | |
TAO_Endpoint * | endpoint (void) |
Return the underlying endpoint object. | |
CORBA::Boolean | reset_endpoint (TAO_Endpoint *ep) |
void | set_bidir_flag (CORBA::Boolean flag) |
Set the BiDir flag. | |
Protected Member Functions | |
TAO_Transport_Descriptor_Interface (void) | |
Default Constructor. | |
TAO_Transport_Descriptor_Interface (TAO_Endpoint *endpoint, CORBA::Boolean take_ownership=false) | |
Constructor. | |
Protected Attributes | |
TAO_Endpoint * | endpoint_ |
The base property of the connection ie. the peer's endpoint. | |
CORBA::Boolean | bidir_flag_ |
Should the endpoint be used in either direction? | |
CORBA::Boolean | release_ |
This class provides an abstract interface and holds minimal info on which the Transport Caching scheme is based on. Concrete connection properties can be got by inheriting from this class and implementing the virtual functions. Note 1: Additional properties for connection like Qos, Priority that the RT folks would need, can be added by inheriting from this class and providing the following methods. 1. duplicate () 2. is_equivalent () 3. hash ()
Definition at line 47 of file Transport_Descriptor_Interface.h.
TAO_BEGIN_VERSIONED_NAMESPACE_DECL TAO_Transport_Descriptor_Interface::~TAO_Transport_Descriptor_Interface | ( | void | ) | [virtual] |
Destructor.
Definition at line 16 of file Transport_Descriptor_Interface.cpp.
00017 { 00018 if (this->release_) 00019 { 00020 delete this->endpoint_; 00021 } 00022 }
ACE_INLINE TAO_Transport_Descriptor_Interface::TAO_Transport_Descriptor_Interface | ( | void | ) | [protected] |
Default Constructor.
Definition at line 18 of file Transport_Descriptor_Interface.inl.
00019 : endpoint_ (0), 00020 bidir_flag_ (false), 00021 release_ (false) 00022 { 00023 }
TAO_BEGIN_VERSIONED_NAMESPACE_DECL ACE_INLINE TAO_Transport_Descriptor_Interface::TAO_Transport_Descriptor_Interface | ( | TAO_Endpoint * | endpoint, | |
CORBA::Boolean | take_ownership = false | |||
) | [protected] |
Constructor.
Definition at line 8 of file Transport_Descriptor_Interface.inl.
00011 : endpoint_ (endpoint), 00012 bidir_flag_ (false), 00013 release_ (take_ownership) 00014 { 00015 }
virtual TAO_Transport_Descriptor_Interface* TAO_Transport_Descriptor_Interface::duplicate | ( | void | ) | [pure virtual] |
This call allocates and copies the contents of this class and returns the pointer
Implemented in TAO_Base_Transport_Property.
Referenced by TAO::Cache_ExtId::duplicate(), and TAO::Cache_ExtId::operator=().
ACE_INLINE TAO_Endpoint * TAO_Transport_Descriptor_Interface::endpoint | ( | void | ) |
Return the underlying endpoint object.
Definition at line 27 of file Transport_Descriptor_Interface.inl.
References endpoint_.
Referenced by TAO_Connector::connect(), TAO_IIOP_Connector::make_connection(), TAO_IIOP_Connector::make_parallel_connection(), TAO_Connector::parallel_connect(), and TAO::Profile_Transport_Resolver::try_connect_i().
00028 { 00029 return this->endpoint_; 00030 }
virtual u_long TAO_Transport_Descriptor_Interface::hash | ( | void | ) | const [pure virtual] |
virtual CORBA::Boolean TAO_Transport_Descriptor_Interface::is_equivalent | ( | const TAO_Transport_Descriptor_Interface * | other_prop | ) | [pure virtual] |
Try to determine if this object is same as the other_prop.
Implemented in TAO_Base_Transport_Property.
Referenced by TAO::Transport_Cache_Manager::is_wakeup_useful().
CORBA::Boolean TAO_Transport_Descriptor_Interface::reset_endpoint | ( | TAO_Endpoint * | ep | ) |
Reset the endpoint pointer to point to another, if that one is part of the chain based by the current endpoint. Although this method is public it should only be used by the protocol specific connector, right before caching, and only when a parallel connect was attempted with more than one possible endpoints.
Definition at line 25 of file Transport_Descriptor_Interface.cpp.
References endpoint_.
Referenced by TAO_IIOP_Connector::complete_connection().
00026 { 00027 // calling on a dynamically allocation descriptor is not allowed. 00028 if (this->release_) 00029 return false; 00030 00031 for (TAO_Endpoint *ptr = this->endpoint_; ptr != 0; ptr = ptr->next()) 00032 00033 if (ptr == ep) 00034 { 00035 this->endpoint_ = ep; 00036 return true; 00037 } 00038 return false; 00039 }
ACE_INLINE void TAO_Transport_Descriptor_Interface::set_bidir_flag | ( | CORBA::Boolean | flag | ) |
Set the BiDir flag.
Definition at line 34 of file Transport_Descriptor_Interface.inl.
References bidir_flag_.
00035 { 00036 this->bidir_flag_ = flag; 00037 }
Should the endpoint be used in either direction?
Definition at line 89 of file Transport_Descriptor_Interface.h.
Referenced by set_bidir_flag().
The base property of the connection ie. the peer's endpoint.
Definition at line 86 of file Transport_Descriptor_Interface.h.
Referenced by TAO_Base_Transport_Property::duplicate(), endpoint(), TAO_Base_Transport_Property::hash(), TAO_Base_Transport_Property::is_equivalent(), and reset_endpoint().
Is the endpoint allocated on the heap? If so, we will have to delete it when we destruct ourselves.
Definition at line 93 of file Transport_Descriptor_Interface.h.