summaryrefslogtreecommitdiff
path: root/CIAO/DAnCE/TM_Daemon/DomainDataManager.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'CIAO/DAnCE/TM_Daemon/DomainDataManager.cpp')
-rw-r--r--CIAO/DAnCE/TM_Daemon/DomainDataManager.cpp44
1 files changed, 32 insertions, 12 deletions
diff --git a/CIAO/DAnCE/TM_Daemon/DomainDataManager.cpp b/CIAO/DAnCE/TM_Daemon/DomainDataManager.cpp
index 96172b03bae..37c9de99e73 100644
--- a/CIAO/DAnCE/TM_Daemon/DomainDataManager.cpp
+++ b/CIAO/DAnCE/TM_Daemon/DomainDataManager.cpp
@@ -6,6 +6,7 @@
#include "ciao/CIAO_common.h"
#include <orbsvcs/CosNamingC.h>
#include "utils/Exceptions.h"
+#include "Config_Handlers/XML_File_Intf.h"
namespace CIAO
@@ -13,12 +14,13 @@ namespace CIAO
DomainDataManager::DomainDataManager (CORBA::ORB_ptr orb,
const char *dat_file,
const char *domain_file,
- ::Deployment::DeploymentPlan& plan)
-
+// ::Deployment::DeploymentPlan& plan)
+ vector<string> plans)
: orb_ (CORBA::ORB::_duplicate (orb)),
deployment_config_ (orb_.in()),
- delay_ (utils::Timer ("delay")),
- plan_ (plan),
+ // delay_ (utils::Timer ("delay")),
+// plan_ (plan),
+ plans_ (plans),
dat_file_ (dat_file),
condition_ (condition_mutex_)
@@ -29,11 +31,13 @@ namespace CIAO
initial_domain_ = current_domain_;
// set up the profile timers for each node
+ /*
for (CORBA::ULong i = 0; i < this->current_domain_.node.length (); ++i)
{
this->node_timers_ [this->current_domain_.node[i].name.in ()] =
new utils::Timer (this->current_domain_.node[i].name.in ());
}
+ */
if (this->call_all_node_managers () != 0)
{
@@ -149,7 +153,7 @@ namespace CIAO
DomainDataManager::update_dynamic (const ::Deployment::Domain &domainSubset)
{
this->node_info_map_ [domainSubset.node[0].name.in ()] = domainSubset.node[0];
- this->node_timers_[domainSubset.node[0].name.in ()]->stop ();
+ // this->node_timers_[domainSubset.node[0].name.in ()]->stop ();
// Acquire the mutex before making any modifications as multiple
// threads might try to do this simultaneously.
@@ -161,10 +165,10 @@ namespace CIAO
if (temp_count == 0)
{
// all responses have come in .... now timestamp the event
- this->delay_.stop ();
- this->delay_.dump ();
+ // this->delay_.stop ();
+ // this->delay_.dump ();
this->condition_.signal ();
-
+ /*
for (std::map<std::string, utils::Timer*>::iterator itr = this->node_timers_.begin ();
itr != this->node_timers_.end ();
itr++)
@@ -172,6 +176,7 @@ namespace CIAO
(*itr).second->dump ();
}
+ */
}
// CORBA::Double load;
@@ -268,13 +273,16 @@ namespace CIAO
(Onl_Monitor::AMI_NM_MonitorHandler_ptr handler)
{
this->response_count_ = this->current_domain_.node.length ();
- this->delay_.start ();
+ // this->delay_.start ();
for (CORBA::ULong i = 0; i < this->node_monitors_.size (); ++i)
{
- this->node_timers_[this->current_domain_.node[i].name.in ()]->start ();
+ // this->node_timers_[this->current_domain_.node[i].name.in ()]->start ();
this->node_monitors_[i]->sendc_get_resource_data (handler);
+
+ // for synchronous calls
+// this->node_monitors_[i]->get_resource_data ();
}
this->condition_.wait ();
return this->node_info_map_;
@@ -286,12 +294,24 @@ namespace CIAO
CIAO::DomainDataManager::
start_monitor_qos (Onl_Monitor::AMI_NM_MonitorHandler_ptr handler)
{
+
+ Onl_Monitor::Plan_Seq plans;
+ plans.length (plans_.size ());
+
+ // form the plans and send them over
+ for (int i =0;i < plans_.size ();i++)
+ {
+ CIAO::Config_Handlers::XML_File_Intf intf (plans_[i].c_str ());
+ ::Deployment::DeploymentPlan_var plan = intf.get_plan ();
+ plans[i] = plan;
+ }
+
+
for (CORBA::ULong i = 0; i < this->node_monitors_.size (); ++i)
{
this->node_monitors_[i]->sendc_monitor_app_QoS (handler,
- this->plan_);
+ plans);
}
return 0;
-
}
}