TAO::Cache_IntId_T< TRANSPORT_TYPE > Class Template Reference

Helper class for TAO_Transport_Cache_Manager. More...

#include <Cache_Entries_T.h>

List of all members.

Public Types

typedef TRANSPORT_TYPE transport_type

Public Member Functions

 Cache_IntId_T (void)
 Constructor.
 Cache_IntId_T (transport_type *transport)
 Constructor.
 Cache_IntId_T (const Cache_IntId_T &rhs)
 Copy constructor.
 ~Cache_IntId_T (void)
 Destructor.
Cache_IntId_Toperator= (const Cache_IntId_T &rhs)
 Assignment operator (does copy memory).
bool operator== (const Cache_IntId_T &rhs) const
 Equality comparison operator (must match both id_ and kind_).
bool operator!= (const Cache_IntId_T &rhs) const
 Inequality comparison operator.
transport_type * transport (void)
 Return the underlying transport.
const transport_type * transport (void) const
 Return the underlying transport.
void recycle_state (Cache_Entries_State new_state)
 Set recycle_state.
Cache_Entries_State recycle_state (void) const
 Get recycle_state.
transport_type * relinquish_transport (void)
bool is_connected (void) const
 Get the connected flag.
void is_connected (bool connected)
 Set the connected flag.

Static Public Member Functions

static const char * state_name (Cache_Entries_State st)

Private Attributes

transport_type * transport_
 The transport that needs to be cached.
Cache_Entries_State recycle_state_
 The state of the handle.
bool is_connected_

Detailed Description

template<typename TRANSPORT_TYPE>
class TAO::Cache_IntId_T< TRANSPORT_TYPE >

Helper class for TAO_Transport_Cache_Manager.

Helper class that wraps the

part of the Map or table holding the Transport state.: unifies data items, so they can be stored together as a

for a <key> in a table holding the state of the Transport Cache.

Definition at line 65 of file Cache_Entries_T.h.


Member Typedef Documentation

template<typename TRANSPORT_TYPE>
typedef TRANSPORT_TYPE TAO::Cache_IntId_T< TRANSPORT_TYPE >::transport_type

Definition at line 68 of file Cache_Entries_T.h.


Constructor & Destructor Documentation

template<typename TRANSPORT_TYPE >
TAO::Cache_IntId_T< TRANSPORT_TYPE >::Cache_IntId_T ( void   )  [inline]

Constructor.

Definition at line 13 of file Cache_Entries_T.inl.

00014     : transport_ (0),
00015       recycle_state_ (ENTRY_UNKNOWN),
00016       is_connected_ (false)
00017   {
00018   }

template<typename TRANSPORT_TYPE>
TAO::Cache_IntId_T< TRANSPORT_TYPE >::Cache_IntId_T ( transport_type *  transport  ) 

Constructor.

template<typename TRANSPORT_TYPE >
TAO::Cache_IntId_T< TRANSPORT_TYPE >::Cache_IntId_T ( const Cache_IntId_T< TRANSPORT_TYPE > &  rhs  )  [inline]

Copy constructor.

Definition at line 21 of file Cache_Entries_T.inl.

00022     : transport_ (0),
00023       recycle_state_ (ENTRY_UNKNOWN),
00024       is_connected_ (false)
00025   {
00026     *this = rhs;
00027   }

template<typename TRANSPORT_TYPE>
TAO::Cache_IntId_T< TRANSPORT_TYPE >::~Cache_IntId_T ( void   ) 

Destructor.


Member Function Documentation

template<typename TRANSPORT_TYPE >
void TAO::Cache_IntId_T< TRANSPORT_TYPE >::is_connected ( bool  connected  )  [inline]

Set the connected flag.

Definition at line 64 of file Cache_Entries_T.inl.

00065   {
00066     this->is_connected_ = connected;
00067   }

template<typename TRANSPORT_TYPE >
bool TAO::Cache_IntId_T< TRANSPORT_TYPE >::is_connected ( void   )  const [inline]

Get the connected flag.

Definition at line 57 of file Cache_Entries_T.inl.

00058   {
00059     return this->is_connected_;
00060   }

template<typename TRANSPORT_TYPE >
bool TAO::Cache_IntId_T< TRANSPORT_TYPE >::operator!= ( const Cache_IntId_T< TRANSPORT_TYPE > &  rhs  )  const [inline]

Inequality comparison operator.

Definition at line 36 of file Cache_Entries_T.inl.

00037   {
00038     return (this->transport_ != rhs.transport_);
00039   }

template<typename TRANSPORT_TYPE>
Cache_IntId_T& TAO::Cache_IntId_T< TRANSPORT_TYPE >::operator= ( const Cache_IntId_T< TRANSPORT_TYPE > &  rhs  ) 

Assignment operator (does copy memory).

template<typename TRANSPORT_TYPE >
bool TAO::Cache_IntId_T< TRANSPORT_TYPE >::operator== ( const Cache_IntId_T< TRANSPORT_TYPE > &  rhs  )  const [inline]

Equality comparison operator (must match both id_ and kind_).

Definition at line 30 of file Cache_Entries_T.inl.

00031   {
00032     return (this->transport_ == rhs.transport_);
00033   }

template<typename TRANSPORT_TYPE >
Cache_Entries_State TAO::Cache_IntId_T< TRANSPORT_TYPE >::recycle_state ( void   )  const [inline]

Get recycle_state.

Definition at line 70 of file Cache_Entries_T.inl.

00071   {
00072     return this->recycle_state_;
00073   }

template<typename TRANSPORT_TYPE>
void TAO::Cache_IntId_T< TRANSPORT_TYPE >::recycle_state ( Cache_Entries_State  new_state  ) 

Set recycle_state.

template<typename TRANSPORT_TYPE >
Cache_IntId_T< TRANSPORT_TYPE >::transport_type * TAO::Cache_IntId_T< TRANSPORT_TYPE >::relinquish_transport ( void   )  [inline]

Relinquish ownership of the TAO_Transport object associated with this Cache_IntId_T.

Note:
This method should go away once the Transport_Cache_Map_Manager is improved so that it returns TAO_Transport objects when performing a find() operation. This method really only exists to get around inadequacies in the Transport_Cache_Map_Manager interface.

Definition at line 77 of file Cache_Entries_T.inl.

00078   {
00079     // Yield ownership of the TAO_Transport object.
00080     transport_type *val = this->transport_;
00081     this->transport_ = 0;
00082     return val;
00083   }

template<typename TRANSPORT_TYPE >
const char * TAO::Cache_IntId_T< TRANSPORT_TYPE >::state_name ( Cache_Entries_State  st  )  [inline, static]

Definition at line 86 of file Cache_Entries_T.inl.

00087   {
00088 #define TAO_CACHE_INTID_ENTRY(X) case X: return #X
00089     switch (st)
00090       {
00091         TAO_CACHE_INTID_ENTRY (ENTRY_IDLE_AND_PURGABLE);
00092         TAO_CACHE_INTID_ENTRY (ENTRY_PURGABLE_BUT_NOT_IDLE);
00093         TAO_CACHE_INTID_ENTRY (ENTRY_BUSY);
00094         TAO_CACHE_INTID_ENTRY (ENTRY_CLOSED);
00095         TAO_CACHE_INTID_ENTRY (ENTRY_CONNECTING);
00096         TAO_CACHE_INTID_ENTRY (ENTRY_UNKNOWN);
00097       }
00098     return "***Unknown enum value, update Cache_IntId_T::state_name()";
00099 #undef TAO_CACHE_INTID_ENTRY
00100   }

template<typename TRANSPORT_TYPE >
const Cache_IntId_T< TRANSPORT_TYPE >::transport_type * TAO::Cache_IntId_T< TRANSPORT_TYPE >::transport ( void   )  const [inline]

Return the underlying transport.

Definition at line 50 of file Cache_Entries_T.inl.

00051   {
00052     return this->transport_;
00053   }

template<typename TRANSPORT_TYPE >
Cache_IntId_T< TRANSPORT_TYPE >::transport_type * TAO::Cache_IntId_T< TRANSPORT_TYPE >::transport ( void   )  [inline]

Return the underlying transport.

Definition at line 43 of file Cache_Entries_T.inl.

00044   {
00045     return this->transport_;
00046   }


Member Data Documentation

template<typename TRANSPORT_TYPE>
bool TAO::Cache_IntId_T< TRANSPORT_TYPE >::is_connected_ [private]

This is an analog for the transport::is_connected(), which is guarded by a mutex.

Definition at line 131 of file Cache_Entries_T.h.

template<typename TRANSPORT_TYPE>
Cache_Entries_State TAO::Cache_IntId_T< TRANSPORT_TYPE >::recycle_state_ [private]

The state of the handle.

Definition at line 127 of file Cache_Entries_T.h.

template<typename TRANSPORT_TYPE>
transport_type* TAO::Cache_IntId_T< TRANSPORT_TYPE >::transport_ [private]

The transport that needs to be cached.

Definition at line 124 of file Cache_Entries_T.h.


The documentation for this class was generated from the following files:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines

Generated on Sun Nov 22 23:28:00 2009 for TAO by  doxygen 1.6.1