#include <NodeManager_Impl.h>
Public Types | |
typedef struct CIAO::NodeManager_Impl_Base::_ref_count_info | Ref_Count_Info |
Public Member Functions | |
NodeManager_Impl_Base (const char *name, CORBA::ORB_ptr orb, PortableServer::POA_ptr p, const char *nodeapp_loc, const char *nodeapp_options, int spawn_delay) | |
Constructor. | |
virtual void | init () |
Initializes the NodeManager. | |
virtual PortableServer::POA_ptr | _default_POA (void) |
POA operation.. | |
virtual char * | name () |
CIAO::Daemon defined attributes/operations. | |
virtual void | shutdown () |
virtual void | joinDomain (const Deployment::Domain &domain, Deployment::TargetManager_ptr manager, Deployment::Logger_ptr log) |
virtual void | leaveDomain () |
virtual ::Deployment::NodeApplicationManager_ptr | preparePlan (const Deployment::DeploymentPlan &plan) |
virtual void | destroyManager (Deployment::NodeApplicationManager_ptr appManager) |
virtual void | destroyPlan (const Deployment::DeploymentPlan &plan) |
virtual ::Deployment::ComponentPlans * | get_shared_components () |
CIAO specific extension, return a set of shared components. | |
virtual ::CORBA::Long | set_priority (const char *plan_id, const char *cid, const ::Deployment::Sched_Params &nm_params) |
virtual ::Components::FacetDescriptions * | get_all_facets (ACE_CString &name) |
virtual ::Components::ConsumerDescriptions * | get_all_consumers (ACE_CString &name) |
virtual void | set_all_facets (ACE_CString &name, const ::Components::FacetDescriptions_var &facets) |
virtual void | set_all_consumers (ACE_CString &name, const ::Components::ConsumerDescriptions_var &consumers) |
virtual void | push_component_id_info (Component_Ids comps) |
Component_Ids | get_component_detail () |
Protected Types | |
typedef ACE_Hash_Map_Manager_Ex < ACE_CString, Ref_Count_Info, ACE_Hash< ACE_CString > , ACE_Equal_To< ACE_CString > , ACE_Null_Mutex > | Reference_Count_Map |
typedef Reference_Count_Map::iterator | Ref_Count_Iterator |
typedef ACE_Hash_Map_Manager_Ex < ACE_CString, Components::FacetDescriptions_var, ACE_Hash< ACE_CString > , ACE_Equal_To< ACE_CString > , ACE_Null_Mutex > | Component_Facets_Map |
typedef ACE_Hash_Map_Manager_Ex < ACE_CString, Components::ConsumerDescriptions_var, ACE_Hash< ACE_CString > , ACE_Equal_To< ACE_CString > , ACE_Null_Mutex > | Component_Consumers_Map |
Protected Member Functions | |
virtual | ~NodeManager_Impl_Base (void) |
virtual ::CIAO::NodeApplicationManager_Impl_Base * | create_node_app_manager (CORBA::ORB_ptr orb, PortableServer::POA_ptr poa)=0 |
virtual ::Deployment::ComponentPlans * | get_shared_components_i (void) |
Actual implementation of the get_shared_components IDL operation. | |
CORBA::StringSeq * | shared_components_seq (void) |
A helper method that convert ACE_Unbounded_Set to CORBA StringSeq. | |
Protected Attributes | |
CORBA::ORB_var | orb_ |
Keep a pointer to the managing ORB serving this servant. | |
PortableServer::POA_var | poa_ |
Keep a pointer to the managing POA. | |
CORBA::String_var | name_ |
My Canonical name. | |
CORBA::String_var | nodeapp_location_ |
NodeApplication location. | |
CORBA::String_var | nodeapp_options_ |
NodeApplication options. | |
PortableServer::POA_var | callback_poa_ |
Cached callback POA. | |
int | spawn_delay_ |
Spawn delay for the NodeAppMgr. | |
NAM_Map | map_ |
Reference_Count_Map | ref_count_map_ |
ACE_Unbounded_Set< ACE_CString > | shared_components_ |
A set to track the names of shared component instances. | |
Component_Facets_Map | comp_facets_map_ |
Component_Consumers_Map | comp_consumers_map_ |
auto_ptr< MonitorController > | monitor_controller_ |
The MonitorController pointer. | |
Component_Ids | components_ |
The set of Components. | |
Private Member Functions | |
bool | validate_plan (const Deployment::DeploymentPlan &plan) |
Classes | |
struct | _ref_count_info |
struct | Component_Ids |
typedef struct CIAO::NodeManager_Impl_Base::_ref_count_info CIAO::NodeManager_Impl_Base::Ref_Count_Info |
typedef ACE_Hash_Map_Manager_Ex<ACE_CString, Ref_Count_Info, ACE_Hash<ACE_CString>, ACE_Equal_To<ACE_CString>, ACE_Null_Mutex> CIAO::NodeManager_Impl_Base::Reference_Count_Map [protected] |
A reference count map for the components installed on this node @TODO We should also keep the information about *where* the component is installed
typedef Reference_Count_Map::iterator CIAO::NodeManager_Impl_Base::Ref_Count_Iterator [protected] |
typedef ACE_Hash_Map_Manager_Ex<ACE_CString, Components::FacetDescriptions_var, ACE_Hash<ACE_CString>, ACE_Equal_To<ACE_CString>, ACE_Null_Mutex> CIAO::NodeManager_Impl_Base::Component_Facets_Map [protected] |
Cached object references of ports (facets/consumers) of all components. This is useful for getting the port object references of "shared components". The key in the map is the component instance name.
typedef ACE_Hash_Map_Manager_Ex<ACE_CString, Components::ConsumerDescriptions_var, ACE_Hash<ACE_CString>, ACE_Equal_To<ACE_CString>, ACE_Null_Mutex> CIAO::NodeManager_Impl_Base::Component_Consumers_Map [protected] |
CIAO::NodeManager_Impl_Base::NodeManager_Impl_Base | ( | const char * | name, | |
CORBA::ORB_ptr | orb, | |||
PortableServer::POA_ptr | p, | |||
const char * | nodeapp_loc, | |||
const char * | nodeapp_options, | |||
int | spawn_delay | |||
) |
Constructor.
CIAO::NodeManager_Impl_Base::~NodeManager_Impl_Base | ( | void | ) | [protected, virtual] |
Since this class is reference counted, making this destructor protected to enforce proper memory managment through the reference counting mechanism (i.e. to disallow calling operator delete() on an instance of this class.
void CIAO::NodeManager_Impl_Base::init | ( | ) | [virtual] |
Initializes the NodeManager.
PortableServer::POA_ptr CIAO::NodeManager_Impl_Base::_default_POA | ( | void | ) | [virtual] |
POA operation..
char * CIAO::NodeManager_Impl_Base::name | ( | ) | [virtual] |
CIAO::Daemon defined attributes/operations.
void CIAO::NodeManager_Impl_Base::shutdown | ( | ) | [virtual] |
void CIAO::NodeManager_Impl_Base::joinDomain | ( | const Deployment::Domain & | domain, | |
Deployment::TargetManager_ptr | manager, | |||
Deployment::Logger_ptr | log | |||
) | [virtual] |
void CIAO::NodeManager_Impl_Base::leaveDomain | ( | ) | [virtual] |
Deployment::NodeApplicationManager_ptr CIAO::NodeManager_Impl_Base::preparePlan | ( | const Deployment::DeploymentPlan & | plan | ) |
void CIAO::NodeManager_Impl_Base::destroyManager | ( | Deployment::NodeApplicationManager_ptr | appManager | ) | [virtual] |
Reimplemented in CIAO::Static_NodeManager_Impl.
void CIAO::NodeManager_Impl_Base::destroyPlan | ( | const Deployment::DeploymentPlan & | plan | ) | [virtual] |
CIAO specific extension, which is particularly useful for dealing with shared components issue
Deployment::ComponentPlans * CIAO::NodeManager_Impl_Base::get_shared_components | ( | ) |
CIAO specific extension, return a set of shared components.
CORBA::Long CIAO::NodeManager_Impl_Base::set_priority | ( | const char * | plan_id, | |
const char * | cid, | |||
const ::Deployment::Sched_Params & | nm_params | |||
) |
RACE specific extension. Modify the priority of a node application process.
Components::FacetDescriptions * CIAO::NodeManager_Impl_Base::get_all_facets | ( | ACE_CString & | name | ) |
Components::ConsumerDescriptions * CIAO::NodeManager_Impl_Base::get_all_consumers | ( | ACE_CString & | name | ) |
void CIAO::NodeManager_Impl_Base::set_all_facets | ( | ACE_CString & | name, | |
const ::Components::FacetDescriptions_var & | facets | |||
) | [virtual] |
void CIAO::NodeManager_Impl_Base::set_all_consumers | ( | ACE_CString & | name, | |
const ::Components::ConsumerDescriptions_var & | consumers | |||
) | [virtual] |
void CIAO::NodeManager_Impl_Base::push_component_id_info | ( | Component_Ids | comps | ) | [virtual] |
CIAO::NodeManager_Impl_Base::Component_Ids CIAO::NodeManager_Impl_Base::get_component_detail | ( | ) |
bool CIAO::NodeManager_Impl_Base::validate_plan | ( | const Deployment::DeploymentPlan & | plan | ) | [private] |
Validate the child deployment plan. In particular, we are trying to verify that all the component instances within this child deployment plan have the same "server_resource_id" assigned.
virtual ::CIAO::NodeApplicationManager_Impl_Base* CIAO::NodeManager_Impl_Base::create_node_app_manager | ( | CORBA::ORB_ptr | orb, | |
PortableServer::POA_ptr | poa | |||
) | [protected, pure virtual] |
Implemented in CIAO::NodeManager_Impl, and CIAO::Static_NodeManager_Impl.
Deployment::ComponentPlans * CIAO::NodeManager_Impl_Base::get_shared_components_i | ( | void | ) | [protected] |
Actual implementation of the get_shared_components
IDL operation.
CORBA::StringSeq * CIAO::NodeManager_Impl_Base::shared_components_seq | ( | void | ) | [protected] |
A helper method that convert ACE_Unbounded_Set to CORBA StringSeq.
CORBA::ORB_var CIAO::NodeManager_Impl_Base::orb_ [protected] |
Keep a pointer to the managing ORB serving this servant.
Keep a pointer to the managing POA.
CORBA::String_var CIAO::NodeManager_Impl_Base::name_ [protected] |
My Canonical name.
NodeApplication location.
NodeApplication options.
Cached callback POA.
int CIAO::NodeManager_Impl_Base::spawn_delay_ [protected] |
Spawn delay for the NodeAppMgr.
NAM_Map CIAO::NodeManager_Impl_Base::map_ [protected] |
Cache reference of last NodeAppManager Deployment::NodeApplicationManager_var manager_;
A set to track the names of shared component instances.
The MonitorController pointer.
The set of Components.