#include <RT_Thread_Lane_Resources_Manager.h>
Inheritance diagram for TAO_RT_Thread_Lane_Resources_Manager:
Accessors | |
TAO_Thread_Lane_Resources & | lane_resources (void) |
TAO_Thread_Lane_Resources & | default_lane_resources (void) |
TAO_Thread_Pool_Manager & | tp_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_Resources * | default_lane_resources_ |
Default lane resources. | |
TAO_Thread_Pool_Manager * | tp_manager_ |
Thread Pool Manager. |
Definition at line 41 of file RT_Thread_Lane_Resources_Manager.h.
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 }
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 }
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().
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().