TAO_ORB_Core_TSS_Resources Class Reference

The TSS resoures of an ORB core. More...

#include <ORB_Core_TSS_Resources.h>

Collaboration diagram for TAO_ORB_Core_TSS_Resources:

Collaboration graph
[legend]
List of all members.

Public Member Functions

 TAO_ORB_Core_TSS_Resources (void)
 Constructor.

 ~TAO_ORB_Core_TSS_Resources (void)
 destructor


Public Attributes

int event_loop_thread_
int client_leader_thread_
void * lane_
 Lane for this thread.

ACE_Array_Base< void * > ts_objects_
 Generic container for thread-specific objects.

bool upcalls_temporarily_suspended_on_this_thread_
TAO_ORB_Coreorb_core_

Private Member Functions

 TAO_ORB_Core_TSS_Resources (const TAO_ORB_Core_TSS_Resources &)
 The ORB Core TSS resources should not be copied.

void operator= (const TAO_ORB_Core_TSS_Resources &)

Detailed Description

The TSS resoures of an ORB core.

This class is used by the ORB_Core to store the resources potentially bound to a thread in TSS storage. The members are public because only the ORB Core is expected to access them.

Definition at line 41 of file ORB_Core_TSS_Resources.h.


Constructor & Destructor Documentation

TAO_BEGIN_VERSIONED_NAMESPACE_DECL TAO_ORB_Core_TSS_Resources::TAO_ORB_Core_TSS_Resources void   ) 
 

Constructor.

Definition at line 7 of file ORB_Core_TSS_Resources.cpp.

00008   : event_loop_thread_ (0)
00009   , client_leader_thread_ (0)
00010   , lane_ (0)
00011   , ts_objects_ ()
00012   , upcalls_temporarily_suspended_on_this_thread_ (false)
00013   , orb_core_ (0)
00014 {
00015 }

TAO_ORB_Core_TSS_Resources::~TAO_ORB_Core_TSS_Resources void   ) 
 

destructor

Definition at line 17 of file ORB_Core_TSS_Resources.cpp.

00018 {
00019   //@@ This is broken on platforms that use TSS emulation since this
00020   //   destructor is invoked after the ORB.  Since we're under
00021   //   pressure to release a beta, we'll have to leak the TSS objects
00022   //   stores in the <ts_objects_> array.  However, the only service
00023   //   known to currently use this array is the SSLIOP pluggable
00024   //   protocol.  Fortunately, it registeres a null cleanup function
00025   //   so we're not leaking anything yet.  We *do* need to fix this
00026   //   before other services start to use this array.
00027   //      -Ossama
00028   // if (this->orb_core_ != 0)
00029   //   this->orb_core_->tss_cleanup_funcs ()->cleanup (this->ts_objects_);
00030 }

TAO_ORB_Core_TSS_Resources::TAO_ORB_Core_TSS_Resources const TAO_ORB_Core_TSS_Resources  )  [private]
 

The ORB Core TSS resources should not be copied.


Member Function Documentation

void TAO_ORB_Core_TSS_Resources::operator= const TAO_ORB_Core_TSS_Resources  )  [private]
 


Member Data Documentation

int TAO_ORB_Core_TSS_Resources::client_leader_thread_
 

Counter for how many times this thread has become a client leader.

Definition at line 70 of file ORB_Core_TSS_Resources.h.

Referenced by TAO_Leader_Follower::is_client_leader_thread(), TAO_Leader_Follower::reset_client_leader_thread(), TAO_Leader_Follower::reset_client_thread(), TAO_Leader_Follower::reset_event_loop_thread_i(), TAO_Leader_Follower::set_client_leader_thread(), TAO_Leader_Follower::set_client_thread(), and TAO_Leader_Follower::set_event_loop_thread().

int TAO_ORB_Core_TSS_Resources::event_loop_thread_
 

Counter for how (nested) calls this thread has made to run the event loop.

Definition at line 66 of file ORB_Core_TSS_Resources.h.

Referenced by TAO_Leader_Follower::reset_client_thread(), TAO_Leader_Follower::reset_event_loop_thread(), TAO_Leader_Follower::reset_event_loop_thread_i(), TAO_Leader_Follower::set_client_thread(), TAO_Leader_Follower::set_event_loop_thread(), and TAO_Leader_Follower::set_upcall_thread().

void* TAO_ORB_Core_TSS_Resources::lane_
 

Lane for this thread.

Definition at line 73 of file ORB_Core_TSS_Resources.h.

TAO_ORB_Core* TAO_ORB_Core_TSS_Resources::orb_core_
 

Pointer to the ORB core. Needed to get access to the TSS cleanup functions for the TSS objects stored in the TSS object array in this class.

Definition at line 85 of file ORB_Core_TSS_Resources.h.

Referenced by TAO_ORB_Core::set_tss_resource().

ACE_Array_Base<void *> TAO_ORB_Core_TSS_Resources::ts_objects_
 

Generic container for thread-specific objects.

Definition at line 76 of file ORB_Core_TSS_Resources.h.

Referenced by TAO_ORB_Core::get_tss_resource(), and TAO_ORB_Core::set_tss_resource().

bool TAO_ORB_Core_TSS_Resources::upcalls_temporarily_suspended_on_this_thread_
 

Definition at line 80 of file ORB_Core_TSS_Resources.h.

Referenced by TAO::Wait_On_LF_No_Upcall::can_process_upcalls(), TAO::Nested_Upcall_Guard::Nested_Upcall_Guard(), and TAO::Nested_Upcall_Guard::~Nested_Upcall_Guard().


The documentation for this class was generated from the following files:
Generated on Thu Nov 9 12:22:53 2006 for TAO by doxygen 1.3.6