#include <DomainDataManager.h>
Collaboration diagram for CIAO::DomainDataManager:
Public Member Functions | |
int | update_domain (const ::CORBA::StringSeq &elements, const ::Deployment::Domain &domainSubset,::Deployment::DomainUpdateKind updateKind) |
This function is called by the other classes to update current domain data. | |
::Deployment::Domain * | get_initial_domain () |
This function is called the Executor code to get the Original Domain data. | |
::Deployment::Domain * | get_current_domain () |
This function is called the Executor code to get the Current Domain data. | |
CIAO::Host_NodeManager_seq * | get_node_managers () |
returns the sequence of node managers object reference | |
CIAO::Host_Infos * | get_cpu_info () |
returns the node specific cpu utilization | |
CORBA::Long | get_pid (ACE_CString cmp) |
returns the pid of the component id submitted | |
void | commitResources (const ::Deployment::DeploymentPlan &plan) |
commits the resources that are specified in the plan. | |
void | releaseResources (const ::Deployment::DeploymentPlan &plan) |
The function releases the resources held by a plan. | |
void | stop_monitors () |
The function makes a call on the leaveDomain on the NodeManager. | |
Static Public Member Functions | |
static DomainDataManager * | create (CORBA::ORB_ptr orb,::Deployment::TargetManager_ptr target) |
This function is called to create the Datamanager. | |
static DomainDataManager * | get_data_manager () |
Returns the static pointer to the data manager. | |
static void | delete_data_manger () |
deletes the data manager | |
Protected Types | |
commit | |
release | |
enum | Action { commit, release } |
The different actiona that can take place. More... | |
Protected Member Functions | |
DomainDataManager (CORBA::ORB_ptr orb,::Deployment::TargetManager_ptr target) | |
int | readin_domain_data () |
It will read the initial Domain data from XML files. | |
void | match_requirement_resource (::Deployment::InstanceResourceDeploymentDescriptions deployed,::Deployment::Resources &available) |
Match the deployed resources to the available resource. | |
void | match_properties (::Deployment::Properties deployed,::Deployment::SatisfierProperties &available) |
Match the properties of a Requirement to the properties of available resource. | |
void | commit_release_resource (::Deployment::Property &deployed,::Deployment::SatisfierProperty &available) |
Either commits or releases the given resource based on the current Action set. | |
int | call_all_node_managers () |
This function calls all NM and gives them the sub-domain. | |
int | add_to_domain (const ::Deployment::Domain &domain) |
This function add new elements to the already existing domain. | |
int | delete_from_domain (const ::Deployment::Domain &domain) |
This function deletes elements from the domain. | |
int | intimate_planner (const ::Deployment::Domain &domain) |
This function intimates the planner about a domain change. | |
bool | find_in_initial_domain (const char *node_name,::Deployment::Node &node) |
This function finds a new node in the initial_domain. | |
bool | find_in_provisioned_domain (const char *node_name,::Deployment::Node &node) |
This function finds a new node in the proviosiond_domain. | |
bool | update_node_status () |
updates the node status by reading it from a file | |
Protected Attributes | |
CORBA::ORB_var | orb_ |
The ORB pointer. | |
CIAO::Deployment_Configuration | deployment_config_ |
The Deployment Configuration. | |
::Deployment::Domain | initial_domain_ |
::Deployment::Domain | current_domain_ |
::Deployment::TargetManager_var | target_mgr_ |
The Target Manager Context. | |
::Deployment::Domain | provisioned_data_ |
Action | current_action_ |
The current action. | |
Static Protected Attributes | |
static DomainDataManager * | global_data_manager_ = 0 |
It maintains both the Current Domain Information as well as the Initial domain at full capacity.
enum CIAO::DomainDataManager::Action [protected] |
CIAO::DomainDataManager::DomainDataManager | ( | CORBA::ORB_ptr | orb, | |
::Deployment::TargetManager_ptr | target | |||
) | [protected] |
The constructor made protected so that no one can create it.
orb | The orb pointer | |
target | The Target Manager Object Reference |
int CIAO::DomainDataManager::add_to_domain | ( | const ::Deployment::Domain & | domain | ) | [protected] |
This function add new elements to the already existing domain.
domain | Deployment::Domain contians the new elements |
int CIAO::DomainDataManager::call_all_node_managers | ( | ) | [protected] |
This function calls all NM and gives them the sub-domain.
void CIAO::DomainDataManager::commit_release_resource | ( | ::Deployment::Property & | deployed, | |
::Deployment::SatisfierProperty & | available | |||
) | [protected] |
Either commits or releases the given resource based on the current Action set.
deployed | Deployment::Property is the resource to be commited/released | |
available | Deployment::SatisfierProperty is the available resource from which committed/released. |
Deployment::ResourceNotAvailable | thrown when the deployed resources exceeds the available resource. |
void CIAO::DomainDataManager::commitResources | ( | const ::Deployment::DeploymentPlan & | plan | ) |
commits the resources that are specified in the plan.
plan | Deployment::DeploymentPlan |
Deployment::ResourceNotAvailable | thrown when the resources mentioned in the plan exceeds the current resource. | |
Deployment::PlanError | thrown if the plan has any error |
CIAO::DomainDataManager * CIAO::DomainDataManager::create | ( | CORBA::ORB_ptr | orb, | |
::Deployment::TargetManager_ptr | target | |||
) | [static] |
This function is called to create the Datamanager.
This function calls the constructor of the class Domain Data Manager
orb | The orb pointer | |
target | The Target Manager Object Reference |
void CIAO::DomainDataManager::delete_data_manger | ( | ) | [static] |
deletes the data manager
int CIAO::DomainDataManager::delete_from_domain | ( | const ::Deployment::Domain & | domain | ) | [protected] |
This function deletes elements from the domain.
domain | Deployment::Domain contains the new elements in the domain |
bool CIAO::DomainDataManager::find_in_initial_domain | ( | const char * | node_name, | |
::Deployment::Node & | node | |||
) | [protected] |
This function finds a new node in the initial_domain.
node | The name of the node which is to be searched |
bool CIAO::DomainDataManager::find_in_provisioned_domain | ( | const char * | node_name, | |
::Deployment::Node & | node | |||
) | [protected] |
This function finds a new node in the proviosiond_domain.
node | The name of the node which is to be searched |
CIAO::Host_Infos * CIAO::DomainDataManager::get_cpu_info | ( | ) |
Deployment::Domain * CIAO::DomainDataManager::get_current_domain | ( | ) |
This function is called the Executor code to get the Current Domain data.
CIAO::DomainDataManager * CIAO::DomainDataManager::get_data_manager | ( | ) | [static] |
Returns the static pointer to the data manager.
Deployment::Domain * CIAO::DomainDataManager::get_initial_domain | ( | ) |
This function is called the Executor code to get the Original Domain data.
CIAO::Host_NodeManager_seq * CIAO::DomainDataManager::get_node_managers | ( | ) |
returns the sequence of node managers object reference
CORBA::Long CIAO::DomainDataManager::get_pid | ( | ACE_CString | cmp | ) |
returns the pid of the component id submitted
cmp | The component id |
int CIAO::DomainDataManager::intimate_planner | ( | const ::Deployment::Domain & | domain | ) | [protected] |
This function intimates the planner about a domain change.
domain | Deployment::Domain contains the new elements in the domain |
void CIAO::DomainDataManager::match_properties | ( | ::Deployment::Properties | deployed, | |
::Deployment::SatisfierProperties & | available | |||
) | [protected] |
Match the properties of a Requirement to the properties of available resource.
deployed | The deployed Properties | |
available | The available Properties |
void CIAO::DomainDataManager::match_requirement_resource | ( | ::Deployment::InstanceResourceDeploymentDescriptions | deployed, | |
::Deployment::Resources & | available | |||
) | [protected] |
Match the deployed resources to the available resource.
int CIAO::DomainDataManager::readin_domain_data | ( | ) | [protected] |
It will read the initial Domain data from XML files.
void CIAO::DomainDataManager::releaseResources | ( | const ::Deployment::DeploymentPlan & | plan | ) |
The function releases the resources held by a plan.
plan | Deployment::DeploymentPlan the plan whose resources are to be released |
void CIAO::DomainDataManager::stop_monitors | ( | ) |
The function makes a call on the leaveDomain on the NodeManager.
The node manager in turn stops the monitor
int CIAO::DomainDataManager::update_domain | ( | const ::CORBA::StringSeq & | elements, | |
const ::Deployment::Domain & | domainSubset, | |||
::Deployment::DomainUpdateKind | updateKind | |||
) |
This function is called by the other classes to update current domain data.
elements | The string sequence of elements being updated | |
domainSubset | The subset of the actual Domain to be updated | |
updateKind | Specifies the update type eg. add, delete, update |
bool CIAO::DomainDataManager::update_node_status | ( | ) | [protected] |
updates the node status by reading it from a file
Action CIAO::DomainDataManager::current_action_ [protected] |
The current action.
::Deployment::Domain CIAO::DomainDataManager::current_domain_ [protected] |
The Current Domain - contains resources at current capacity
The Deployment Configuration.
CIAO::DomainDataManager * CIAO::DomainDataManager::global_data_manager_ = 0 [static, protected] |
The staic data manager pointer implementing singleton pattern
::Deployment::Domain CIAO::DomainDataManager::initial_domain_ [protected] |
The Initial Domain - contains resources at total capacity
CORBA::ORB_var CIAO::DomainDataManager::orb_ [protected] |
The ORB pointer.
::Deployment::Domain CIAO::DomainDataManager::provisioned_data_ [protected] |
The static provisioned Domain data
::Deployment::TargetManager_var CIAO::DomainDataManager::target_mgr_ [protected] |
The Target Manager Context.