summaryrefslogtreecommitdiff
path: root/CIAO/connectors/dds4ccm/tests/Getter/Sender/Getter_Test_Sender_exec.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'CIAO/connectors/dds4ccm/tests/Getter/Sender/Getter_Test_Sender_exec.cpp')
-rw-r--r--CIAO/connectors/dds4ccm/tests/Getter/Sender/Getter_Test_Sender_exec.cpp378
1 files changed, 0 insertions, 378 deletions
diff --git a/CIAO/connectors/dds4ccm/tests/Getter/Sender/Getter_Test_Sender_exec.cpp b/CIAO/connectors/dds4ccm/tests/Getter/Sender/Getter_Test_Sender_exec.cpp
deleted file mode 100644
index 86cce2badfc..00000000000
--- a/CIAO/connectors/dds4ccm/tests/Getter/Sender/Getter_Test_Sender_exec.cpp
+++ /dev/null
@@ -1,378 +0,0 @@
-// -*- C++ -*-
-/**
- * Code generated by the The ACE ORB (TAO) IDL Compiler v1.8.3
- * TAO and the TAO IDL Compiler have been developed by:
- * Center for Distributed Object Computing
- * Washington University
- * St. Louis, MO
- * USA
- * http://www.cs.wustl.edu/~schmidt/doc-center.html
- * and
- * Distributed Object Computing Laboratory
- * University of California at Irvine
- * Irvine, CA
- * USA
- * and
- * Institute for Software Integrated Systems
- * Vanderbilt University
- * Nashville, TN
- * USA
- * http://www.isis.vanderbilt.edu/
- *
- * Information about TAO is available at:
- * http://www.dre.vanderbilt.edu/~schmidt/TAO.html
- **/
-
-#include "Getter_Test_Sender_exec.h"
-#include "tao/ORB_Core.h"
-#include "ace/Reactor.h"
-
-namespace CIAO_Getter_Test_Sender_Impl
-{
- /**
- * Pulse generator
- */
- pulse_Generator::pulse_Generator (Sender_exec_i &callback)
- : pulse_callback_ (callback)
- {
- }
-
- int
- pulse_Generator::handle_timeout (const ACE_Time_Value &, const void *)
- {
- this->pulse_callback_.tick ();
- return 0;
- }
-
- /**
- * Facet Executor Implementation Class: info_out_connector_status_exec_i
- */
-
- info_out_connector_status_exec_i::info_out_connector_status_exec_i (
- ::Getter_Test::CCM_Sender_Context_ptr ctx,
- Sender_exec_i &callback)
- : ciao_context_ (
- ::Getter_Test::CCM_Sender_Context::_duplicate (ctx))
- , callback_ (callback)
- {
- }
-
- info_out_connector_status_exec_i::~info_out_connector_status_exec_i (void)
- {
- }
-
- // Operations from ::CCM_DDS::ConnectorStatusListener
-
- void
- info_out_connector_status_exec_i::on_inconsistent_topic (::DDS::Topic_ptr /* the_topic */,
- const ::DDS::InconsistentTopicStatus & /* status */)
- {
- /* Your code here. */
- }
-
- void
- info_out_connector_status_exec_i::on_requested_incompatible_qos (::DDS::DataReader_ptr /* the_reader */,
- const ::DDS::RequestedIncompatibleQosStatus & /* status */)
- {
- /* Your code here. */
- }
-
- void
- info_out_connector_status_exec_i::on_sample_rejected (::DDS::DataReader_ptr /* the_reader */,
- const ::DDS::SampleRejectedStatus & /* status */)
- {
- /* Your code here. */
- }
-
- void
- info_out_connector_status_exec_i::on_offered_deadline_missed (::DDS::DataWriter_ptr /* the_writer */,
- const ::DDS::OfferedDeadlineMissedStatus & /* status */)
- {
- /* Your code here. */
- }
-
- void
- info_out_connector_status_exec_i::on_offered_incompatible_qos (::DDS::DataWriter_ptr /* the_writer */,
- const ::DDS::OfferedIncompatibleQosStatus & /* status */)
- {
- /* Your code here. */
- }
-
- void
- info_out_connector_status_exec_i::on_unexpected_status (::DDS::Entity_ptr /* the_entity */,
- ::DDS::StatusKind status_kind)
- {
- if (status_kind == ::DDS::PUBLICATION_MATCHED_STATUS)
- {
- this->callback_.start ();
- }
- }
-
- /**
- * Component Executor Implementation Class: Sender_exec_i
- */
-
- Sender_exec_i::Sender_exec_i (void)
- : keys_ (5)
- , iterations_ (10)
- , done_ (false)
- , ccm_activated_ (false)
- , last_iter_ (1)
- {
- ACE_NEW_THROW_EX (this->ticker_,
- pulse_Generator (*this),
- ::CORBA::NO_MEMORY ());
- }
-
- Sender_exec_i::~Sender_exec_i (void)
- {
- delete this->ticker_;
- }
-
- // Supported operations and attributes.
- ACE_Reactor*
- Sender_exec_i::reactor (void)
- {
- ACE_Reactor* reactor = 0;
- ::CORBA::Object_var ccm_object =
- this->ciao_context_->get_CCM_object();
- if (! ::CORBA::is_nil (ccm_object.in ()))
- {
- ::CORBA::ORB_var orb = ccm_object->_get_orb ();
- if (! ::CORBA::is_nil (orb.in ()))
- {
- reactor = orb->orb_core ()->reactor ();
- }
- }
- if (reactor == 0)
- {
- throw ::CORBA::INTERNAL ();
- }
- return reactor;
- }
-
- // Component attributes and port operations.
- void
- Sender_exec_i::start_timeout_tests (void)
- {
- GetInvoker_var invoker =
- this->ciao_context_->get_connection_invoke_getter ();
-
- invoker->start_timeout_get_one ();
- invoker->start_timeout_get_many ();
- }
-
- void
- Sender_exec_i::write_many (void)
- {
- ::Getter_Test::GetterTestConnector::Writer_var writer =
- this->ciao_context_->get_connection_info_write_data ();
- GetInvoker_var invoker =
- this->ciao_context_->get_connection_invoke_getter ();
-
- // Prepare the samples.
- GetterTestSeq write_many (this->keys_ * this->iterations_);
- write_many.length (this->keys_ * this->iterations_);
-
- // since the test for get_one already writes samples to DDS with
- // key=KEY_1 we start with key = 2 when writing many samples.
- for (CORBA::UShort key = 2; key < this->keys_ + 2; ++key)
- {
- GetterTest new_key;
- char tmp[7];
- ACE_OS::sprintf (tmp, "KEY_%d", key);
- new_key.key = CORBA::string_dup(tmp);
- for (CORBA::UShort iter = 1; iter < this->iterations_ + 1; ++iter)
- {
- new_key.iteration = iter;
- write_many[(iter - 1) + ((key - 2) * 10)] = new_key;
- }
- }
- try
- {
- // Inform the receiver that the sender has written many
- // samples to DDS.
- invoker->start_get_many (this->keys_, this->iterations_);
- // Wait a while before writing the samples.
- ACE_Time_Value tv (2, 0);
- ACE_OS::sleep (tv);
- // Now start writing.
- writer->write_many (write_many);
- ACE_DEBUG ((LM_DEBUG, ACE_TEXT ("write_many : written <%u> samples\n"),
- write_many.length ()));
- }
- catch (const CCM_DDS::InternalError& ex)
- {
- ACE_ERROR ((LM_ERROR, ACE_TEXT ("ERROR: Internal Error ")
- ACE_TEXT ("while write many writer info: index <%d> - retval <%d>\n"),
- ex.index, ex.error_code));
- }
- }
-
- void
- Sender_exec_i::start (void)
- {
- // Start can be called more than once...
- if (!this->done_ && this->ccm_activated_)
- {
- this->done_ = true;
- start_timeout_tests ();
- if (this->reactor ()->schedule_timer (
- this->ticker_,
- 0,
- ACE_Time_Value (0, 500000),
- ACE_Time_Value (0, 500000)) == -1)
- {
- ACE_ERROR ((LM_ERROR, ACE_TEXT ("Sender_exec_i::start : ")
- ACE_TEXT ("Error scheduling timer\n")));
- }
- }
- }
-
- void
- Sender_exec_i::tick (void)
- {
- ::Getter_Test::GetterTestConnector::Writer_var writer =
- this->ciao_context_->get_connection_info_write_data ();
- ::Getter_Test::GetterFixedConnector::Writer_var fixed =
- this->ciao_context_->get_connection_info_fixed_data ();
- ::GetInvoker_var invoker =
- this->ciao_context_->get_connection_invoke_getter ();
-
- if (this->last_iter_ <= this->iterations_)
- {
- GetterFixed fixed_key;
- GetterTest *new_key = new GetterTest;
- new_key->key = CORBA::string_dup ("KEY_1");
- fixed_key.key = 1;
- // Inform the receiver that this class (as the sender) is about to
- // write samples to DDS.
- invoker->start_get_one ("KEY_1", 1, last_iter_);
-
- new_key->iteration = last_iter_;
- fixed_key.iteration = last_iter_;
-
- ACE_Time_Value tv (0, 50000);
- ACE_OS::sleep (tv);
-
- writer->write_one (*new_key, ::DDS::HANDLE_NIL);
- fixed->write_one (fixed_key, ::DDS::HANDLE_NIL);
- ACE_DEBUG ((LM_DEBUG, "Written keys <%C> and <%u> with <%d>\n",
- new_key->key.in (), fixed_key.key, last_iter_));
-
- ++last_iter_;
- delete new_key;
- }
- else
- {
- // Stop the timer at forehand.
- this->reactor ()->cancel_timer (this->ticker_);
- // Perform the last test.
- this->write_many ();
- }
- }
-
- ::CCM_DDS::CCM_ConnectorStatusListener_ptr
- Sender_exec_i::get_info_out_connector_status (void)
- {
- if ( ::CORBA::is_nil (this->ciao_info_out_connector_status_.in ()))
- {
- info_out_connector_status_exec_i *tmp = 0;
- ACE_NEW_RETURN (
- tmp,
- info_out_connector_status_exec_i (
- this->ciao_context_.in (),
- *this),
- ::CCM_DDS::CCM_ConnectorStatusListener::_nil ());
-
- this->ciao_info_out_connector_status_ = tmp;
- }
-
- return
- ::CCM_DDS::CCM_ConnectorStatusListener::_duplicate (
- this->ciao_info_out_connector_status_.in ());
- }
-
- ::CORBA::UShort
- Sender_exec_i::keys (void)
- {
- return this->keys_;
- }
-
- void
- Sender_exec_i::keys (
- const ::CORBA::UShort keys)
- {
- this->keys_ = keys;
- }
-
- ::CORBA::UShort
- Sender_exec_i::iterations (void)
- {
- return this->iterations_;
- }
-
- void
- Sender_exec_i::iterations (
- const ::CORBA::UShort iterations)
- {
- this->iterations_ = iterations;
- }
-
- // Operations from Components::SessionComponent.
-
- void
- Sender_exec_i::set_session_context (
- ::Components::SessionContext_ptr ctx)
- {
- this->ciao_context_ =
- ::Getter_Test::CCM_Sender_Context::_narrow (ctx);
-
- if ( ::CORBA::is_nil (this->ciao_context_.in ()))
- {
- throw ::CORBA::INTERNAL ();
- }
- }
-
- void
- Sender_exec_i::configuration_complete (void)
- {
- /* Your code here. */
- }
-
- void
- Sender_exec_i::ccm_activate (void)
- {
- this->ccm_activated_ = true;
- }
-
- void
- Sender_exec_i::ccm_passivate (void)
- {
- this->reactor ()->cancel_timer (this->ticker_);
- ACE_DEBUG ((LM_DEBUG, ACE_TEXT ("Sender_exec_i::stop : Timer canceled.\n")));
- }
-
- void
- Sender_exec_i::ccm_remove (void)
- {
- if (!this->done_)
- {
- ACE_ERROR ((LM_ERROR, ACE_TEXT ("Sender_exec_i::ccm_remove : ")
- ACE_TEXT ("Never got start signal\n")));
- }
- }
-
- extern "C" SENDER_EXEC_Export ::Components::EnterpriseComponent_ptr
- create_Getter_Test_Sender_Impl (void)
- {
- ::Components::EnterpriseComponent_ptr retval =
- ::Components::EnterpriseComponent::_nil ();
-
- ACE_NEW_NORETURN (
- retval,
- Sender_exec_i);
-
- return retval;
- }
-}