diff options
author | msmit <msmit@remedy.nl> | 2010-06-11 11:14:24 +0000 |
---|---|---|
committer | msmit <msmit@remedy.nl> | 2010-06-11 11:14:24 +0000 |
commit | c3887970fe7899f1be4e0d7e46c7453205dbf0e7 (patch) | |
tree | 29040d3a749bd352f073cc5f2fcf84dd6ad6ef5e /CIAO/connectors/dds4ccm/tests/CoherentWriter/Sender | |
parent | 4435d4cedf199872aac7c9a98ce7b4839593d21f (diff) | |
download | ATCD-c3887970fe7899f1be4e0d7e46c7453205dbf0e7.tar.gz |
Fri Jun 11 11:11:08 UTC 2010 Marcel Smit <msmit@remedy.nl>
* connectors/dds4ccm/tests/CoherentWriter/Receiver/CoherentWrite_Test_Receiver_exec.h:
* connectors/dds4ccm/tests/CoherentWriter/Receiver/CoherentWrite_Test_Receiver_exec.cpp:
* connectors/dds4ccm/tests/CoherentWriter/Sender/CoherentWrite_Test_Sender_exec.h:
* connectors/dds4ccm/tests/CoherentWriter/Sender/CoherentWrite_Test_Sender_exec.cpp:
Removed the caching of the ports since the context already caches these.
Diffstat (limited to 'CIAO/connectors/dds4ccm/tests/CoherentWriter/Sender')
-rw-r--r-- | CIAO/connectors/dds4ccm/tests/CoherentWriter/Sender/CoherentWrite_Test_Sender_exec.cpp | 39 | ||||
-rw-r--r-- | CIAO/connectors/dds4ccm/tests/CoherentWriter/Sender/CoherentWrite_Test_Sender_exec.h | 4 |
2 files changed, 26 insertions, 17 deletions
diff --git a/CIAO/connectors/dds4ccm/tests/CoherentWriter/Sender/CoherentWrite_Test_Sender_exec.cpp b/CIAO/connectors/dds4ccm/tests/CoherentWriter/Sender/CoherentWrite_Test_Sender_exec.cpp index 0c3a464c95d..a26103fac6a 100644 --- a/CIAO/connectors/dds4ccm/tests/CoherentWriter/Sender/CoherentWrite_Test_Sender_exec.cpp +++ b/CIAO/connectors/dds4ccm/tests/CoherentWriter/Sender/CoherentWrite_Test_Sender_exec.cpp @@ -47,7 +47,8 @@ namespace CIAO_CoherentWrite_Test_Sender_Impl Sender_exec_i::Sender_exec_i (void) : iterations_ (3), run_ (1), - total_iter (0) + total_iter (0), + wh_ (0) { } @@ -59,22 +60,31 @@ namespace CIAO_CoherentWrite_Test_Sender_Impl Sender_exec_i::restart (void) { ++this->run_; - WriteHandler *wh = new WriteHandler (*this); - this->context_->get_CCM_object()->_get_orb ()->orb_core ()->reactor ()->notify (wh); + delete this->wh_; + ACE_NEW_THROW_EX (this->wh_, + WriteHandler (*this), + ::CORBA::INTERNAL ()); + this->context_->get_CCM_object()->_get_orb ()->orb_core ()->reactor ()->notify (this->wh_); } void Sender_exec_i::start (void) { - if (! ::CORBA::is_nil (this->starter_)) - { - this->starter_->set_reader_properties (this->iterations_); - } - else + ::CoherentWriteTestConnector::Writer_var writer = + this->context_->get_connection_info_write_data (); + + CoherentWriteStarter_var starter = + this->context_->get_connection_start_reader (); + if (::CORBA::is_nil (starter.in ()) || + ::CORBA::is_nil (writer.in ())) { ACE_ERROR ((LM_ERROR, ACE_TEXT ("ERROR: Unable to start the reader\n"))); + return; } + writer->is_coherent_write (true); + starter->set_reader_properties (this->iterations_); + ACE_DEBUG ((LM_DEBUG, "Start run <%d> with <%u> iterations\n", this->run_, this->iterations ())); @@ -88,11 +98,11 @@ namespace CIAO_CoherentWrite_Test_Sender_Impl new_key.iteration = ++total_iter; write_many_seq[i-1] = new_key; } - this->writer_->write_many (write_many_seq); + writer->write_many (write_many_seq); ACE_DEBUG ((LM_DEBUG, ACE_TEXT ("Written <%u> keys uptil now\n"), total_iter)); ACE_OS::sleep (2); - this->starter_->start_read (this->run_); + starter->start_read (this->run_); } ::CORBA::UShort @@ -135,11 +145,10 @@ namespace CIAO_CoherentWrite_Test_Sender_Impl { try { - this->writer_ = this->context_->get_connection_info_write_data (); - this->writer_->is_coherent_write (true); - this->starter_ = this->context_->get_connection_start_reader (); - WriteHandler *wh = new WriteHandler (*this); - this->context_->get_CCM_object()->_get_orb ()->orb_core ()->reactor ()->notify (wh); + ACE_NEW_THROW_EX (this->wh_, + WriteHandler (*this), + ::CORBA::INTERNAL ()); + this->context_->get_CCM_object()->_get_orb ()->orb_core ()->reactor ()->notify (this->wh_); } catch (const CORBA::Exception& ex) { diff --git a/CIAO/connectors/dds4ccm/tests/CoherentWriter/Sender/CoherentWrite_Test_Sender_exec.h b/CIAO/connectors/dds4ccm/tests/CoherentWriter/Sender/CoherentWrite_Test_Sender_exec.h index edef4add79a..00c228b78c6 100644 --- a/CIAO/connectors/dds4ccm/tests/CoherentWriter/Sender/CoherentWrite_Test_Sender_exec.h +++ b/CIAO/connectors/dds4ccm/tests/CoherentWriter/Sender/CoherentWrite_Test_Sender_exec.h @@ -79,12 +79,12 @@ namespace CIAO_CoherentWrite_Test_Sender_Impl private: ::CoherentWrite_Test::CCM_Sender_Context_var context_; - CoherentWriteTestConnector::Writer_var writer_; - CoherentWriteStarter_var starter_; CORBA::UShort iterations_; CORBA::UShort run_; CORBA::ULong total_iter; + + WriteHandler *wh_; }; extern "C" SENDER_EXEC_Export ::Components::EnterpriseComponent_ptr |