summaryrefslogtreecommitdiff
path: root/CIAO/connectors/dds4ccm/tests/CoherentWriter/Sender
diff options
context:
space:
mode:
authormsmit <msmit@remedy.nl>2010-06-11 11:14:24 +0000
committermsmit <msmit@remedy.nl>2010-06-11 11:14:24 +0000
commitc3887970fe7899f1be4e0d7e46c7453205dbf0e7 (patch)
tree29040d3a749bd352f073cc5f2fcf84dd6ad6ef5e /CIAO/connectors/dds4ccm/tests/CoherentWriter/Sender
parent4435d4cedf199872aac7c9a98ce7b4839593d21f (diff)
downloadATCD-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.cpp39
-rw-r--r--CIAO/connectors/dds4ccm/tests/CoherentWriter/Sender/CoherentWrite_Test_Sender_exec.h4
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