From 522c03b61fb74c6224b743bf5941c9a51e75f286 Mon Sep 17 00:00:00 2001 From: wolff1 Date: Tue, 17 Mar 2009 17:46:05 +0000 Subject: ChangeLogTag: Tue Mar 17 17:45:13 UTC 2009 Friedhelm Wolf --- CIAO/ChangeLog | 15 +++++++++++++++ .../CIAO/FTComponents/FTClient_Timer_Handler.cpp | 20 +++++++++++++++++--- .../tests/CIAO/FTComponents/FTClient_Timer_Handler.h | 4 ++++ CIAO/DAnCE/tests/CIAO/FTComponents/FTClient_exec.cpp | 4 +++- CIAO/DAnCE/tests/CIAO/FTComponents/FTClient_exec.h | 2 +- CIAO/DAnCE/tests/CIAO/FTComponents/FTTask_exec.cpp | 13 ++++++------- CIAO/DAnCE/tests/CIAO/FTComponents/FTTask_exec.h | 4 +++- CIAO/DAnCE/tests/CIAO/FTComponents/Trigger.idl | 2 +- CIAO/DAnCE/tests/CIAO/FTComponents/Worker.idl | 7 ++++++- .../DAnCE/tests/CIAO/FTComponents/client_trigger.cpp | 9 +++++++-- 10 files changed, 63 insertions(+), 17 deletions(-) diff --git a/CIAO/ChangeLog b/CIAO/ChangeLog index 1d545f2dba8..17313f32563 100644 --- a/CIAO/ChangeLog +++ b/CIAO/ChangeLog @@ -1,3 +1,18 @@ +Tue Mar 17 17:45:13 UTC 2009 Friedhelm Wolf + + * DAnCE/tests/CIAO/FTComponents/Worker.idl + * DAnCE/tests/CIAO/FTComponents/FTTask_exec.cpp + * DAnCE/tests/CIAO/FTComponents/client_trigger.cpp + * DAnCE/tests/CIAO/FTComponents/FTTask_exec.h + * DAnCE/tests/CIAO/FTComponents/FTClient_Timer_Handler.cpp + * DAnCE/tests/CIAO/FTComponents/FTClient_Timer_Handler.h + * DAnCE/tests/CIAO/FTComponents/FTClient_exec.cpp + * DAnCE/tests/CIAO/FTComponents/FTClient_exec.h + * DAnCE/tests/CIAO/FTComponents/Trigger.idl: + + Added prefix paramter to the trigger interface and added a + return value for the processing time to the Worker interface. + Mon Mar 16 17:36:12 UTC 2009 Friedhelm Wolf * DAnCE/tests/CIAO/FTComponents/FTTask_exec.cpp diff --git a/CIAO/DAnCE/tests/CIAO/FTComponents/FTClient_Timer_Handler.cpp b/CIAO/DAnCE/tests/CIAO/FTComponents/FTClient_Timer_Handler.cpp index be7e72bc1bb..bafe9c51f9b 100644 --- a/CIAO/DAnCE/tests/CIAO/FTComponents/FTClient_Timer_Handler.cpp +++ b/CIAO/DAnCE/tests/CIAO/FTComponents/FTClient_Timer_Handler.cpp @@ -1,11 +1,14 @@ // $Id$ #include +#include //#include #include "FTClient_Timer_Handler.h" #include "ciao/CIAO_common.h" #include "FTClient_exec.h" +const char * CORFU_TEXT_ENVIRONMENT_VARIABLE = "CORFU_TEST"; + namespace CIDL_FTClient_Impl { @@ -31,6 +34,12 @@ namespace CIDL_FTClient_Impl server_ = DeCoRAM::Worker::_duplicate (server); } + void + FTClient_Timer_Handler::set_prefix (const char * prefix) + { + prefix_ = prefix; + } + int FTClient_Timer_Handler::handle_timeout (const ACE_Time_Value &, const void *) @@ -58,9 +67,12 @@ namespace CIDL_FTClient_Impl } } + CORBA::ULong server_processing_time; + timer_.start (); - server_->run_task (client_executor_->execution_time ()); + server_processing_time = + server_->run_task (client_executor_->execution_time ()); timer_.stop (); @@ -68,7 +80,7 @@ namespace CIDL_FTClient_Impl timer_.elapsed_time (rt); if (logging_) - history_.push_back (rt.msec ()); + history_.push_back (rt.msec () - server_processing_time); } catch (CORBA::Exception & ex) { @@ -106,7 +118,9 @@ namespace CIDL_FTClient_Impl { if (logging_) { - std::string logfile = client_executor_->name (); + std::string logfile; + logfile += prefix_; + logfile += client_executor_->name (); logfile += "-client.txt"; std::ofstream out (logfile.c_str ()); diff --git a/CIAO/DAnCE/tests/CIAO/FTComponents/FTClient_Timer_Handler.h b/CIAO/DAnCE/tests/CIAO/FTComponents/FTClient_Timer_Handler.h index d76d7639062..294004f2d57 100644 --- a/CIAO/DAnCE/tests/CIAO/FTComponents/FTClient_Timer_Handler.h +++ b/CIAO/DAnCE/tests/CIAO/FTComponents/FTClient_Timer_Handler.h @@ -25,6 +25,8 @@ namespace CIDL_FTClient_Impl void set_server (DeCoRAM::Worker_ptr server); + void set_prefix (const char * prefix); + // Hook method that is called by the reactor when a timer expires. virtual int handle_timeout (const ACE_Time_Value &tv, const void *); @@ -47,6 +49,8 @@ namespace CIDL_FTClient_Impl typedef std::list TimingList; TimingList history_; + + std::string prefix_; }; } // end namespace CIDL_FTClient_Impl diff --git a/CIAO/DAnCE/tests/CIAO/FTComponents/FTClient_exec.cpp b/CIAO/DAnCE/tests/CIAO/FTComponents/FTClient_exec.cpp index 257849660ce..35827be7852 100644 --- a/CIAO/DAnCE/tests/CIAO/FTComponents/FTClient_exec.cpp +++ b/CIAO/DAnCE/tests/CIAO/FTComponents/FTClient_exec.cpp @@ -51,12 +51,14 @@ namespace CIDL_FTClient_Impl // Supported or inherited operations. void - FTClient_exec_i::start (void) + FTClient_exec_i::start (const char * prefix) { CIAO_TRACE ("FTClient_exec_i::start ()"); if (!started_) { + timeout_handler_.set_prefix (prefix); + // register the timer handler with the ORB reactor ACE_Time_Value period; period.msec (static_cast (period_)); diff --git a/CIAO/DAnCE/tests/CIAO/FTComponents/FTClient_exec.h b/CIAO/DAnCE/tests/CIAO/FTComponents/FTClient_exec.h index f3bfa421966..6b03abebe6d 100644 --- a/CIAO/DAnCE/tests/CIAO/FTComponents/FTClient_exec.h +++ b/CIAO/DAnCE/tests/CIAO/FTComponents/FTClient_exec.h @@ -46,7 +46,7 @@ namespace CIDL_FTClient_Impl // Supported or inherited operations. - virtual void start (void); + virtual void start (const char * prefix); // Attribute operations. virtual ::CORBA::Double diff --git a/CIAO/DAnCE/tests/CIAO/FTComponents/FTTask_exec.cpp b/CIAO/DAnCE/tests/CIAO/FTComponents/FTTask_exec.cpp index 5ece7de1e24..1760c858cee 100644 --- a/CIAO/DAnCE/tests/CIAO/FTComponents/FTTask_exec.cpp +++ b/CIAO/DAnCE/tests/CIAO/FTComponents/FTTask_exec.cpp @@ -58,28 +58,27 @@ namespace CIDL_FTTask_Impl // Supported or inherited operations. - void + CORBA::ULong FTTask_exec_i::run_task ( ::CORBA::Double execution_time) { - CIAO_DEBUG ((LM_TRACE, "x(%d, %f)=", state_, execution_time)); + CIAO_DEBUG ((LM_TRACE, "x(%d, %f) ", state_, execution_time)); timer_.start (); this->cpu_.run (static_cast (execution_time)); - timer_.stop (); - ++state_; agent_->state_changed (object_id_.c_str ()); - ACE_Time_Value rt; - timer_.elapsed_time (rt); + timer_.stop (); - CIAO_DEBUG ((LM_TRACE, "%dms ", rt.msec ())); + timer_.elapsed_time (last_execution_time_); task_.signal (); + + return last_execution_time_.msec (); } void diff --git a/CIAO/DAnCE/tests/CIAO/FTComponents/FTTask_exec.h b/CIAO/DAnCE/tests/CIAO/FTComponents/FTTask_exec.h index 55fda96ba90..bffe397af9c 100644 --- a/CIAO/DAnCE/tests/CIAO/FTComponents/FTTask_exec.h +++ b/CIAO/DAnCE/tests/CIAO/FTComponents/FTTask_exec.h @@ -47,7 +47,7 @@ namespace CIDL_FTTask_Impl // Supported or inherited operations. - virtual void + virtual CORBA::ULong run_task ( ::CORBA::Double execution_time); @@ -147,6 +147,8 @@ namespace CIDL_FTTask_Impl Failure_Task task_; ACE_High_Res_Timer timer_; + + ACE_Time_Value last_execution_time_; }; extern "C" FTTASK_EXEC_Export ::Components::EnterpriseComponent_ptr diff --git a/CIAO/DAnCE/tests/CIAO/FTComponents/Trigger.idl b/CIAO/DAnCE/tests/CIAO/FTComponents/Trigger.idl index 9493b487c2b..03e6de9d37d 100644 --- a/CIAO/DAnCE/tests/CIAO/FTComponents/Trigger.idl +++ b/CIAO/DAnCE/tests/CIAO/FTComponents/Trigger.idl @@ -3,7 +3,7 @@ interface Trigger { - void start (); + void start (in string prefix); }; #endif /* TRIGGER_IDL_ */ diff --git a/CIAO/DAnCE/tests/CIAO/FTComponents/Worker.idl b/CIAO/DAnCE/tests/CIAO/FTComponents/Worker.idl index 902af4cb3bd..30fd2e12fde 100644 --- a/CIAO/DAnCE/tests/CIAO/FTComponents/Worker.idl +++ b/CIAO/DAnCE/tests/CIAO/FTComponents/Worker.idl @@ -2,7 +2,12 @@ module DeCoRAM { interface Worker { - void run_task (in double execution_time); + /** + * @param execution_time indicates how long the method will run in + * ms. + * @return time in ms that has elapsed since the method started. + */ + unsigned long run_task (in double execution_time); void stop (); }; }; diff --git a/CIAO/DAnCE/tests/CIAO/FTComponents/client_trigger.cpp b/CIAO/DAnCE/tests/CIAO/FTComponents/client_trigger.cpp index e6576b65315..c9b0ff71b76 100644 --- a/CIAO/DAnCE/tests/CIAO/FTComponents/client_trigger.cpp +++ b/CIAO/DAnCE/tests/CIAO/FTComponents/client_trigger.cpp @@ -4,11 +4,12 @@ #include "ace/Get_Opt.h" const ACE_TCHAR *first_ior = ACE_TEXT ("file://first.ior"); +const ACE_TCHAR *prefix = ACE_TEXT (""); int parse_args (int argc, ACE_TCHAR *argv[]) { - ACE_Get_Opt get_opts (argc, argv, ACE_TEXT("k:")); + ACE_Get_Opt get_opts (argc, argv, ACE_TEXT("k:n:")); int c; while ((c = get_opts ()) != -1) @@ -17,11 +18,15 @@ parse_args (int argc, ACE_TCHAR *argv[]) case 'k': first_ior = get_opts.opt_arg (); break; + case 'n': + prefix = get_opts.opt_arg (); + break; case '?': default: ACE_ERROR_RETURN ((LM_ERROR, "usage: %s" "-k " + "-n " "\n", argv [0]), -1); @@ -52,7 +57,7 @@ ACE_TMAIN(int argc, ACE_TCHAR *argv[]) 1); } - trigger->start (); + trigger->start (CORBA::string_dup (prefix)); orb->destroy (); } -- cgit v1.2.1