TAO_RT_Thread_Lane_Resources_Manager Class Reference

Manager for thread lane resources. More...

#include <RT_Thread_Lane_Resources_Manager.h>

Inheritance diagram for TAO_RT_Thread_Lane_Resources_Manager:

Inheritance graph
[legend]
Collaboration diagram for TAO_RT_Thread_Lane_Resources_Manager:

Collaboration graph
[legend]
List of all members.

Accessors

TAO_Thread_Lane_Resourceslane_resources (void)
TAO_Thread_Lane_Resourcesdefault_lane_resources (void)
TAO_Thread_Pool_Managertp_manager (void)

Public Member Functions

 TAO_RT_Thread_Lane_Resources_Manager (TAO_ORB_Core &orb_core)
 Constructor.
 ~TAO_RT_Thread_Lane_Resources_Manager (void)
 Destructor.
void finalize (void)
 Finalize resources.
int open_default_resources (void)
 Open default resources.
void shutdown_reactor (void)
 Shutdown reactor.
void cleanup_rw_transports (void)
int is_collocated (const TAO_MProfile &mprofile)
 Does mprofile belong to us?

Protected Attributes

TAO_Thread_Lane_Resourcesdefault_lane_resources_
 Default lane resources.
TAO_Thread_Pool_Managertp_manager_
 Thread Pool Manager.

Detailed Description

Manager for thread lane resources.

Definition at line 41 of file RT_Thread_Lane_Resources_Manager.h.


Constructor & Destructor Documentation

TAO_BEGIN_VERSIONED_NAMESPACE_DECL TAO_RT_Thread_Lane_Resources_Manager::TAO_RT_Thread_Lane_Resources_Manager ( TAO_ORB_Core orb_core  ) 

Constructor.

Definition at line 21 of file RT_Thread_Lane_Resources_Manager.cpp.

References ACE_NEW.

00022   : TAO_Thread_Lane_Resources_Manager (orb_core),
00023     default_lane_resources_ (0),
00024     tp_manager_ (0)
00025 {
00026   // Create the default resources.
00027   ACE_NEW (this->default_lane_resources_,
00028            TAO_Thread_Lane_Resources (orb_core));
00029 
00030   // Create the thread-pool manager.
00031   ACE_NEW (this->tp_manager_,
00032            TAO_Thread_Pool_Manager (orb_core));
00033 
00034 }

TAO_RT_Thread_Lane_Resources_Manager::~TAO_RT_Thread_Lane_Resources_Manager ( void   ) 

Destructor.

Definition at line 36 of file RT_Thread_Lane_Resources_Manager.cpp.

References default_lane_resources_, and tp_manager_.

00037 {
00038   // Delete the default resources.
00039   delete this->default_lane_resources_;
00040 
00041   // Delete the thread-pool manager.
00042   delete this->tp_manager_;
00043 }


Member Function Documentation

void TAO_RT_Thread_Lane_Resources_Manager::cleanup_rw_transports ( void   )  [virtual]

Certain ORB policies such as dropping replies on shutdown with RW connection handlers would need cleanup of transports to wake threads up.

Implements TAO_Thread_Lane_Resources_Manager.

Definition at line 85 of file RT_Thread_Lane_Resources_Manager.cpp.

References TAO_Thread_Lane_Resources::cleanup_rw_transports(), and default_lane_resources_.

00086 {
00087   // Shutdown default reactors.
00088   this->default_lane_resources_->cleanup_rw_transports ();
00089 }

TAO_Thread_Lane_Resources & TAO_RT_Thread_Lane_Resources_Manager::default_lane_resources ( void   )  [virtual]

Implements TAO_Thread_Lane_Resources_Manager.

Definition at line 123 of file RT_Thread_Lane_Resources_Manager.cpp.

References default_lane_resources_.

00124 {
00125   return *this->default_lane_resources_;
00126 }

void TAO_RT_Thread_Lane_Resources_Manager::finalize ( void   )  [virtual]

Finalize resources.

Implements TAO_Thread_Lane_Resources_Manager.

Definition at line 65 of file RT_Thread_Lane_Resources_Manager.cpp.

References default_lane_resources_, TAO_Thread_Lane_Resources::finalize(), TAO_Thread_Pool_Manager::finalize(), and tp_manager_.

00066 {
00067   // Finalize resources managed by the thread-pool manager.
00068   this->tp_manager_->finalize ();
00069 
00070   // Finalize default resources.
00071   this->default_lane_resources_->finalize ();
00072 }

int TAO_RT_Thread_Lane_Resources_Manager::is_collocated ( const TAO_MProfile mprofile  )  [virtual]

Does mprofile belong to us?

Implements TAO_Thread_Lane_Resources_Manager.

Definition at line 92 of file RT_Thread_Lane_Resources_Manager.cpp.

References default_lane_resources_, TAO_Thread_Pool_Manager::is_collocated(), TAO_Thread_Lane_Resources::is_collocated(), and tp_manager_.

00093 {
00094   int result =
00095     this->default_lane_resources_->is_collocated (mprofile);
00096 
00097   if (result)
00098     return result;
00099 
00100   return this->tp_manager_->is_collocated (mprofile);
00101 }

TAO_Thread_Lane_Resources & TAO_RT_Thread_Lane_Resources_Manager::lane_resources ( void   )  [virtual]

Implements TAO_Thread_Lane_Resources_Manager.

Definition at line 104 of file RT_Thread_Lane_Resources_Manager.cpp.

References default_lane_resources_, TAO_ORB_Core::get_tss_resources(), TAO_ORB_Core_TSS_Resources::lane_, TAO_Thread_Lane_Resources_Manager::orb_core_, and TAO_Thread_Lane::resources().

00105 {
00106   // Get the ORB_Core's TSS resources.
00107   TAO_ORB_Core_TSS_Resources &tss =
00108     *this->orb_core_->get_tss_resources ();
00109 
00110   // Get the lane for this thread.
00111   TAO_Thread_Lane *lane =
00112     static_cast <TAO_Thread_Lane *> (tss.lane_);
00113 
00114   // If we have a valid lane, use that lane's resources.
00115   if (lane)
00116     return lane->resources ();
00117   else
00118     // Otherwise, return the default resources.
00119     return *this->default_lane_resources_;
00120 }

int TAO_RT_Thread_Lane_Resources_Manager::open_default_resources ( void   )  [virtual]

Open default resources.

Implements TAO_Thread_Lane_Resources_Manager.

Definition at line 46 of file RT_Thread_Lane_Resources_Manager.cpp.

References default_lane_resources_, TAO_ORB_Parameters::get_endpoint_set(), TAO_Thread_Lane_Resources::open_acceptor_registry(), TAO_Thread_Lane_Resources_Manager::orb_core_, TAO_ORB_Core::orb_params(), TAO_DEFAULT_LANE, and TAO_EndpointSet.

00047 {
00048   TAO_ORB_Parameters *params =
00049     this->orb_core_->orb_params ();
00050 
00051   TAO_EndpointSet endpoint_set;
00052 
00053   params->get_endpoint_set (TAO_DEFAULT_LANE, endpoint_set);
00054 
00055   bool ignore_address = false;
00056 
00057   int const result =
00058     this->default_lane_resources_->open_acceptor_registry (endpoint_set,
00059                                                            ignore_address);
00060 
00061   return result;
00062 }

void TAO_RT_Thread_Lane_Resources_Manager::shutdown_reactor ( void   )  [virtual]

Shutdown reactor.

Implements TAO_Thread_Lane_Resources_Manager.

Definition at line 75 of file RT_Thread_Lane_Resources_Manager.cpp.

References default_lane_resources_, TAO_Thread_Pool_Manager::shutdown_reactor(), TAO_Thread_Lane_Resources::shutdown_reactor(), and tp_manager_.

00076 {
00077   // Shutdown default reactors.
00078   this->default_lane_resources_->shutdown_reactor ();
00079 
00080   // Shutdown reactors managed by the thread-pool manager.
00081   this->tp_manager_->shutdown_reactor ();
00082 }

TAO_Thread_Pool_Manager & TAO_RT_Thread_Lane_Resources_Manager::tp_manager ( void   ) 

Definition at line 129 of file RT_Thread_Lane_Resources_Manager.cpp.

References tp_manager_.

Referenced by TAO_RT_ORB::TAO_RT_ORB().

00130 {
00131   return *this->tp_manager_;
00132 }


Member Data Documentation

TAO_Thread_Lane_Resources* TAO_RT_Thread_Lane_Resources_Manager::default_lane_resources_ [protected]

Default lane resources.

Definition at line 83 of file RT_Thread_Lane_Resources_Manager.h.

Referenced by cleanup_rw_transports(), default_lane_resources(), finalize(), is_collocated(), lane_resources(), open_default_resources(), shutdown_reactor(), and ~TAO_RT_Thread_Lane_Resources_Manager().

TAO_Thread_Pool_Manager* TAO_RT_Thread_Lane_Resources_Manager::tp_manager_ [protected]

Thread Pool Manager.

Definition at line 86 of file RT_Thread_Lane_Resources_Manager.h.

Referenced by finalize(), is_collocated(), shutdown_reactor(), tp_manager(), and ~TAO_RT_Thread_Lane_Resources_Manager().


The documentation for this class was generated from the following files:
Generated on Tue Feb 2 17:43:01 2010 for TAO_RTCORBA by  doxygen 1.4.7