summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorWilliam R. Otte <wotte@dre.vanderbilt.edu>2009-10-01 02:41:00 +0000
committerWilliam R. Otte <wotte@dre.vanderbilt.edu>2009-10-01 02:41:00 +0000
commitdbc58029ff8ebb6a95d418a880d0af15a0c5032b (patch)
treeba8e884c9a52dc298eab808ead83693613581219
parentf57551149a690df7f4e868f007a6fe556ba938ea (diff)
downloadATCD-dbc58029ff8ebb6a95d418a880d0af15a0c5032b.tar.gz
Thu Oct 1 02:40:40 UTC 2009 William R. Otte <wotte@dre.vanderbilt.edu>
-rw-r--r--modules/CIAO/ChangeLog19
-rw-r--r--modules/CIAO/MPC/config/dds4ccm_base.mpb2
-rw-r--r--modules/CIAO/connectors/dds4ccm/examples/Quoter/Base/Quoter_Base.mpc2
-rw-r--r--modules/CIAO/connectors/dds4ccm/examples/Quoter/Broker/Broker.mpc16
-rw-r--r--modules/CIAO/connectors/dds4ccm/examples/Quoter/Connector/Quoter_Connector.mpc4
-rw-r--r--modules/CIAO/connectors/dds4ccm/examples/Quoter/Connector/Quoter_Connector_exec.cpp16
-rw-r--r--modules/CIAO/connectors/dds4ccm/examples/Quoter/Connector/Quoter_Connector_exec.h2
-rw-r--r--modules/CIAO/connectors/dds4ccm/examples/Quoter/Distributor/Distributor.mpc8
-rw-r--r--modules/CIAO/connectors/dds4ccm/examples/Quoter/Distributor/Distributor_exec.cpp15
-rwxr-xr-xmodules/CIAO/connectors/dds4ccm/examples/Quoter/descriptors/run_test.pl189
10 files changed, 251 insertions, 22 deletions
diff --git a/modules/CIAO/ChangeLog b/modules/CIAO/ChangeLog
index cd53817b9a3..343cd1da5d7 100644
--- a/modules/CIAO/ChangeLog
+++ b/modules/CIAO/ChangeLog
@@ -1,10 +1,25 @@
-Wed Sep 30 01:17:02 UTC 2009 William R. Otte <wotte@dre.vanderbilt.edu>
+Thu Oct 1 02:40:40 UTC 2009 William R. Otte <wotte@dre.vanderbilt.edu>
+ * MPC/config/dds4ccm_base.mpb:
+ * connectors/dds4ccm/examples/Quoter/Base/Quoter_Base.mpc:
+ * connectors/dds4ccm/examples/Quoter/Broker/Broker.mpc:
+ * connectors/dds4ccm/examples/Quoter/Connector/Quoter_Connector.mpc:
* connectors/dds4ccm/examples/Quoter/Connector/Quoter_Connector_exec.h:
* connectors/dds4ccm/examples/Quoter/Connector/Quoter_Connector_exec.cpp:
+ * connectors/dds4ccm/examples/Quoter/Distributor/Distributor.mpc:
+ * connectors/dds4ccm/examples/Quoter/Distributor/Distributor_exec.cpp:
+ * connectors/dds4ccm/examples/Quoter/descriptors:
+ * connectors/dds4ccm/examples/Quoter/descriptors/run_test.pl:
- Additional connector implementation.
+ Additional impolementation.
+Wed Sep 30 01:17:02 UTC 2009 William R. Otte <wotte@dre.vanderbilt.edu>
+
+ * connectors/dds4ccm/examples/Quoter/Connector/Quoter_Connector_exec.h:
+ * connectors/dds4ccm/examples/Quoter/Connector/Quoter_Connector_exec.cpp:
+
+ Additional connector implementation.
+
Fri Sep 25 01:34:02 UTC 2009 William R. Otte <wotte@dre.vanderbilt.edu>
* connectors/dds4ccm/examples/Quoter/Broker/Broker.idl3:
diff --git a/modules/CIAO/MPC/config/dds4ccm_base.mpb b/modules/CIAO/MPC/config/dds4ccm_base.mpb
index a2c15617235..68cc03c1844 100644
--- a/modules/CIAO/MPC/config/dds4ccm_base.mpb
+++ b/modules/CIAO/MPC/config/dds4ccm_base.mpb
@@ -3,5 +3,5 @@
project : ciao_connector_base {
after += DDS4CCM_stub DDS4CCM_lem_gen
- libs += DDS4CCM_stub
+ libs += DDS4CCM_stub DDS4CCM_lem_stub
}
diff --git a/modules/CIAO/connectors/dds4ccm/examples/Quoter/Base/Quoter_Base.mpc b/modules/CIAO/connectors/dds4ccm/examples/Quoter/Base/Quoter_Base.mpc
index 85413b73f1e..fff8b2f1438 100644
--- a/modules/CIAO/connectors/dds4ccm/examples/Quoter/Base/Quoter_Base.mpc
+++ b/modules/CIAO/connectors/dds4ccm/examples/Quoter/Base/Quoter_Base.mpc
@@ -1,7 +1,7 @@
// $Id$
// This file is generated with "generate_component_mpc.pl -o ../lib -u DDS -n Quoter_Base"
-project(DDS_Quoter_Base_idl_gen) : taoidldefaults {
+project(DDS_Quoter_Base_idl_gen) : taoidldefaults, anytypecode {
custom_only = 1
idlflags -= -St -Sa
idlflags += -SS -Gxhst \
diff --git a/modules/CIAO/connectors/dds4ccm/examples/Quoter/Broker/Broker.mpc b/modules/CIAO/connectors/dds4ccm/examples/Quoter/Broker/Broker.mpc
index 55803f7c775..8772c36f5b8 100644
--- a/modules/CIAO/connectors/dds4ccm/examples/Quoter/Broker/Broker.mpc
+++ b/modules/CIAO/connectors/dds4ccm/examples/Quoter/Broker/Broker.mpc
@@ -29,8 +29,8 @@ project(DDS_Broker_lem_gen) : connectoridldefaults, {
}
project(DDS_Broker_lem_stub) : ccm_svnt , dds4ccm_base {
- after += DDS_Broker_lem_gen DDS_Broker_stub
- libs += Broker_stub
+ after += DDS_Broker_lem_gen DDS_Broker_stub DDS_Quoter_Connector_stub DDS_Quoter_Base_stub
+ libs += Broker_stub DDS_Quoter_Connector_stub DDS_Quoter_Base_stub
libpaths += ../lib
libout = ../lib
includes += ..
@@ -55,8 +55,8 @@ project(DDS_Broker_lem_stub) : ccm_svnt , dds4ccm_base {
}
project(DDS_Broker_stub) : ccm_stub , dds4ccm_base {
- after += DDS_Broker_idl_gen
- libs +=
+ after += DDS_Broker_idl_gen DDS_Quoter_Connector_stub DDS_Quoter_Base_stub
+ libs += DDS_Quoter_Connector_stub DDS_Quoter_Base_stub
libpaths += ../lib
libout = ../lib
includes += ..
@@ -81,9 +81,9 @@ project(DDS_Broker_stub) : ccm_stub , dds4ccm_base {
}
project(DDS_Broker_exec) : ciao_executor , dds4ccm_base {
- after += DDS_Broker_lem_stub DDS_Broker_stub
+ after += DDS_Broker_lem_stub DDS_Broker_stub DDS_Quoter_Base_stub
sharedname = Broker_exec
- libs += Broker_stub Broker_lem_stub
+ libs += Broker_stub Broker_lem_stub DDS_Quoter_Base_stub
libpaths += ../lib
libout = ../lib
includes += ..
@@ -107,9 +107,9 @@ project(DDS_Broker_exec) : ciao_executor , dds4ccm_base {
project(DDS_Broker_svnt) : ciao_servant , dds4ccm_base {
- after += DDS_Broker_lem_stub
+ after += DDS_Broker_lem_stub DDS_Quoter_Base_stub DDS_Quoter_Connector_stub DDS_Quoter_Connector_svnt
sharedname = Broker_svnt
- libs += Broker_stub Broker_lem_stub
+ libs += Broker_stub Broker_lem_stub DDS_Quoter_Base_stub DDS_Quoter_Connector_stub DDS_Quoter_Connector_svnt
libpaths += ../lib
libout = ../lib
includes += ..
diff --git a/modules/CIAO/connectors/dds4ccm/examples/Quoter/Connector/Quoter_Connector.mpc b/modules/CIAO/connectors/dds4ccm/examples/Quoter/Connector/Quoter_Connector.mpc
index a7709f70a8d..7c0fdd55dce 100644
--- a/modules/CIAO/connectors/dds4ccm/examples/Quoter/Connector/Quoter_Connector.mpc
+++ b/modules/CIAO/connectors/dds4ccm/examples/Quoter/Connector/Quoter_Connector.mpc
@@ -83,9 +83,9 @@ project(DDS_Quoter_Connector_stub) : ccm_stub, dds4ccm_base {
}
project(DDS_Quoter_Connector_exec) : ciao_executor, dds4ccm_skel, nddslib {
- after += DDS_Quoter_Connector_lem_stub DDS_Quoter_Connector_stub
+ after += DDS_Quoter_Connector_lem_stub DDS_Quoter_Connector_stub DDS_Quoter_Base_NDDS_TS
sharedname = DDS_Quoter_Connector_exec
- libs += DDS_Quoter_Connector_stub DDS_Quoter_Connector_lem_stub DDS_Quoter_Base_stub
+ libs += DDS_Quoter_Connector_stub DDS_Quoter_Connector_lem_stub DDS_Quoter_Base_stub CIAO_DDS4CCM_NDDS_Impl DDS_Quoter_Base_NDDS_TS
libpaths += ../lib
libout = ../lib
includes += ..
diff --git a/modules/CIAO/connectors/dds4ccm/examples/Quoter/Connector/Quoter_Connector_exec.cpp b/modules/CIAO/connectors/dds4ccm/examples/Quoter/Connector/Quoter_Connector_exec.cpp
index e19781e93a9..099d7e6a1c3 100644
--- a/modules/CIAO/connectors/dds4ccm/examples/Quoter/Connector/Quoter_Connector_exec.cpp
+++ b/modules/CIAO/connectors/dds4ccm/examples/Quoter/Connector/Quoter_Connector_exec.cpp
@@ -111,6 +111,13 @@ namespace CIAO_Quoter_Quoter_Connector_Impl
//============================================================
Quoter_Connector_exec_i::Quoter_Connector_exec_i (void)
+ : default_domain_configured_ (false),
+ domain_id_ (0),
+ default_topic_configured_ (false),
+ topic_name_ ("Quoter_Topic"),
+ __info_in_configured_ (false),
+ __info_out_configured_ (false)
+
{
}
@@ -196,6 +203,9 @@ namespace CIAO_Quoter_Quoter_Connector_Impl
void
Quoter_Connector_exec_i::configure_default_domain_ (void)
{
+ CIAO_DEBUG ((LM_TRACE, CLINFO "Quoter_Connector_exec_i::configure_default_domain_ - "
+ "Configuring default domain\n"));
+
if (this->default_domain_configured_) return;
try
@@ -220,6 +230,8 @@ namespace CIAO_Quoter_Quoter_Connector_Impl
void
Quoter_Connector_exec_i::configure_default_topic_ (void)
{
+ CIAO_DEBUG ((LM_TRACE, CLINFO "Quoter_Connector_exec_i::configure_default_topic_ - "
+ "Configuring default topic\n"));
if (this->default_topic_configured_) return;
this->configure_default_domain_ ();
@@ -380,7 +392,7 @@ namespace CIAO_Quoter_Quoter_Connector_Impl
this->context_->get_connection_info_out_status ());
::DDS::DataReaderQos drqos;
- this->__info_out_datareaderlistener =
+ this->__info_out_datareader_ =
this->__info_out_subscriber_->create_datareader (this->topic_.in (),
drqos,
this->__info_out_datareaderlistener.in (),
@@ -398,6 +410,8 @@ namespace CIAO_Quoter_Quoter_Connector_Impl
::CCM_DDS::CCM_Stock_Info_Writer_ptr
Quoter_Connector_exec_i::get_info_in_data (void)
{
+ std::cerr << "get_info_in_data" << std::endl;
+
this->configure_port_info_in_ ();
return new CIAO::DDS4CCM::RTI::Writer_T<Stock_Info_Traits,
diff --git a/modules/CIAO/connectors/dds4ccm/examples/Quoter/Connector/Quoter_Connector_exec.h b/modules/CIAO/connectors/dds4ccm/examples/Quoter/Connector/Quoter_Connector_exec.h
index bc47276e9ea..fe53f7ad2fb 100644
--- a/modules/CIAO/connectors/dds4ccm/examples/Quoter/Connector/Quoter_Connector_exec.h
+++ b/modules/CIAO/connectors/dds4ccm/examples/Quoter/Connector/Quoter_Connector_exec.h
@@ -244,7 +244,7 @@ namespace CIAO_Quoter_Quoter_Connector_Impl
CCM_DDS::PortStatusListener_var __info_out_portstatus_;
::DDS::Subscriber_var __info_out_subscriber_;
::DDS::DataReaderListener_var __info_out_listener_;
- ::DDS::CCM_DataReader_var __info_out_datareader_;
+ ::DDS::DataReader_var __info_out_datareader_;
::DDS::DataReaderListener_var __info_out_datareaderlistener;
};
diff --git a/modules/CIAO/connectors/dds4ccm/examples/Quoter/Distributor/Distributor.mpc b/modules/CIAO/connectors/dds4ccm/examples/Quoter/Distributor/Distributor.mpc
index 0fb6a755d24..33b5e228ed0 100644
--- a/modules/CIAO/connectors/dds4ccm/examples/Quoter/Distributor/Distributor.mpc
+++ b/modules/CIAO/connectors/dds4ccm/examples/Quoter/Distributor/Distributor.mpc
@@ -56,8 +56,8 @@ project(DDS_Distributor_lem_stub) : ccm_svnt, dds4ccm_base {
}
project(DDS_Distributor_stub) : ccm_stub, dds4ccm_base {
- after += DDS_Distributor_idl_gen DDS_Quoter_Base_stub
- libs += DDS_Quoter_Base_stub
+ after += DDS_Distributor_idl_gen DDS_Quoter_Base_stub DDS_Quoter_Connector_stub
+ libs += DDS_Quoter_Base_stub DDS_Quoter_Connector_stub
includes += ..
libpaths += ../lib
libout = ../lib
@@ -84,7 +84,7 @@ project(DDS_Distributor_stub) : ccm_stub, dds4ccm_base {
project(DDS_Distributor_exec) : ciao_executor, dds4ccm_base {
after += DDS_Distributor_lem_stub DDS_Distributor_stub
sharedname = Distributor_exec
- libs += Distributor_stub Distributor_lem_stub DDS_Quoter_Base_stub
+ libs += Distributor_stub Distributor_lem_stub DDS_Quoter_Base_stub
libpaths += ../lib
includes += ..
libout = ../lib
@@ -140,7 +140,7 @@ project(DDS_Distributor_svnt) : ciao_servant, dds4ccm_base {
project (DDS_controller) : ccm_stub, valuetype {
exename = controller
after += DDS_Distributor_stub
- libs += Distributor_stub DDS_Quoter_Base_stub
+ libs += Distributor_stub DDS_Quoter_Base_stub DDS_Quoter_Connector_stub
libpaths += ../lib
libout = ../lib
includes += ..
diff --git a/modules/CIAO/connectors/dds4ccm/examples/Quoter/Distributor/Distributor_exec.cpp b/modules/CIAO/connectors/dds4ccm/examples/Quoter/Distributor/Distributor_exec.cpp
index 56cd45df8c9..df2c6963701 100644
--- a/modules/CIAO/connectors/dds4ccm/examples/Quoter/Distributor/Distributor_exec.cpp
+++ b/modules/CIAO/connectors/dds4ccm/examples/Quoter/Distributor/Distributor_exec.cpp
@@ -80,10 +80,13 @@ namespace CIAO_Quoter_Distributor_Impl
{
return -1;
}
-
+
// calculate the interval time
long usec = 1000000 / hertz;
+ std::cerr << "Starting pulse_generator with hertz of " << hertz << ", interval of "
+ << usec << std::endl;
+
if (this->reactor ()->schedule_timer (this,
0,
ACE_Time_Value (0, usec),
@@ -188,7 +191,11 @@ namespace CIAO_Quoter_Distributor_Impl
if (i->second->current < i->second->low)
i->second->low = i->second->current;
- this->writer_->write (i->second);
+ if (!CORBA::is_nil (this->writer_))
+ this->writer_->write (i->second);
+ else
+ std::cerr << "Writer reference is nil!" << std::endl;
+
}
}
}
@@ -280,12 +287,16 @@ namespace CIAO_Quoter_Distributor_Impl
Distributor_exec_i::configuration_complete (void)
{
/* Your code here. */
+ this->writer_ = this->context_->get_connection_info_in_data ();
+
+ this->ticker_->activate ();
}
void
Distributor_exec_i::ccm_activate (void)
{
this->start ();
+ this->add_stock ("MSFT");
}
void
diff --git a/modules/CIAO/connectors/dds4ccm/examples/Quoter/descriptors/run_test.pl b/modules/CIAO/connectors/dds4ccm/examples/Quoter/descriptors/run_test.pl
new file mode 100755
index 00000000000..728c251c06c
--- /dev/null
+++ b/modules/CIAO/connectors/dds4ccm/examples/Quoter/descriptors/run_test.pl
@@ -0,0 +1,189 @@
+eval '(exit $?0)' && eval 'exec perl -S $0 ${1+"$@"}'
+ & eval 'exec perl -S $0 $argv:q'
+ if 0;
+
+# $Id$
+# -*- perl -*-
+
+use lib "$ENV{'ACE_ROOT'}/bin";
+use PerlACE::Run_Test;
+
+$CIAO_ROOT = "$ENV{'CIAO_ROOT'}";
+$TAO_ROOT = "$ENV{'TAO_ROOT'}";
+$DAnCE = "$ENV{'DANCE_ROOT'}";
+
+$daemons_running = 0;
+$em_running = 0;
+$ns_running = 0;
+
+$daemons = 2;
+@ports = ( 60001, 60002 );
+@iorfiles = ( "NodeApp1.ior", "NodeApp2.ior" );
+@nodenames = ( "DistributorNode", "BrokerNode" );
+
+$status = 0;
+$cdp_file = "Plan.cdp";
+
+$nsior = PerlACE::LocalFile ("ns.ior");
+
+PerlACE::add_lib_path ('../lib');
+
+unlink $nsior;
+
+$E = 0;
+$EM = 0;
+
+# Delete if there are any .ior files.
+sub delete_ior_files {
+ for ($i = 0; $i < $daemons; ++$i) {
+ unlink $iorfiles[$i];
+ }
+ unlink PerlACE::LocalFile ("EM.ior");
+ unlink PerlACE::LocalFile ("DAM.ior");
+ unlink PerlACE::LocalFile ("ns.ior");
+}
+
+sub kill_node_daemons {
+ for ($i = 0; $i < $daemons; ++$i) {
+ $Daemons[$i]->Kill (); $Daemons[$i]->TimedWait (1);
+ }
+}
+
+sub kill_open_processes {
+ if ($daemons_running == 1) {
+ kill_node_daemons ();
+ }
+
+ if ($em_running == 1) {
+ $EM->Kill ();
+ $EM->TimedWait (1);
+ }
+
+ if ($ns_running == 1) {
+ $NS->Kill ();
+ $NS->TimedWait (1);
+ }
+
+}
+
+sub run_node_daemons {
+ for ($i = 0; $i < $daemons; ++$i)
+ {
+ $iorfile = $iorfiles[$i];
+ $port = $ports[$i];
+ $nodename = $nodenames[$i];
+ $iiop = "iiop://localhost:$port";
+ $node_app = "$CIAO_ROOT/bin/ciao_componentserver";
+
+ $d_cmd = "$DAnCE/bin/dance_node_manager";
+ $d_param = "-ORBEndpoint $iiop -s $node_app -n $nodename=$iorfile -t 30 --domain-nc corbaloc:rir:/NameService";
+
+ print "Run dance_node_manager with $d_param\n";
+
+ $Daemons[$i] = new PerlACE::Process ($d_cmd, $d_param);
+ $result = $Daemons[$i]->Spawn ();
+ push(@processes, $Daemons[$i]);
+
+ if (PerlACE::waitforfile_timed ($iorfile,
+ 30) == -1) {
+ print STDERR
+ "ERROR: The ior $iorfile file of node daemon $i could not be found\n";
+ for (; $i >= 0; --$i) {
+ $Daemons[$i]->Kill (); $Daemons[$i]->TimedWait (1);
+ }
+ return -1;
+ }
+ }
+ return 0;
+}
+
+delete_ior_files ();
+
+# Invoke naming service
+
+$NS = new PerlACE::Process ("$TAO_ROOT/orbsvcs/Naming_Service/Naming_Service", "-m 0 -ORBEndpoint iiop://localhost:60003 -o ns.ior");
+
+$NS->Spawn ();
+
+print STDERR "Starting Naming Service with -m 0 -ORBEndpoint iiop://localhost:60003 -o ns.ior\n";
+
+if (PerlACE::waitforfile_timed ($nsior, $PerlACE::wait_interval_for_process_creation) == -1)
+{
+ print STDERR "ERROR: cannot find naming service IOR file\n";
+ $NS->Kill ();
+ exit 1;
+}
+
+$ns_running = 1;
+
+# Set up NamingService environment
+$ENV{"NameServiceIOR"} = "corbaloc:iiop:localhost:60003/NameService";
+
+
+# Invoke node daemons.
+print "Invoking node daemons\n";
+$status = run_node_daemons ();
+
+if ($status != 0) {
+ print STDERR "ERROR: Unable to execute the node daemons\n";
+ kill_open_processes ();
+ exit 1;
+}
+
+$daemons_running = 1;
+
+# Invoke execution manager.
+print "Invoking execution manager (dance_execution_manager.exe) with -eEM.ior \n";
+$EM = new PerlACE::Process ("$DAnCE/bin/dance_execution_manager",
+ "-eEM.ior --domain-nc corbaloc:rir:/NameService");
+$EM->Spawn ();
+
+if (PerlACE::waitforfile_timed ("EM.ior",
+ $PerlACE::wait_interval_for_process_creation) == -1) {
+ print STDERR
+ "ERROR: The ior file of execution manager could not be found\n";
+ kill_open_processes ();
+ exit 1;
+}
+
+$em_running = 1;
+
+# Invoke executor - start the application -.
+print "Invoking executor - start the application -\n";
+
+print "Start dance_plan_launcher.exe with -x $cdp_file -k file://EM.ior\n";
+$E =
+ new PerlACE::Process ("$DAnCE/bin/dance_plan_launcher",
+ "-x $cdp_file -k file://EM.ior");
+
+$E->SpawnWaitKill (50);
+
+
+print "Sleeping 60 seconds to allow task to complete\n";
+sleep (60);
+
+# print "Invoking the controller ($controller_exec -k file://Sender.ior)\n";
+# $controller = new PerlACE::Process ("$controller_exec", "-k file://Sender.ior");
+# $result = $controller->SpawnWaitKill (30);
+
+# if ($result != 0) {
+# print STDERR "ERROR: The controller returned $result\n";
+# $status = 1;
+# }
+
+# Invoke executor - stop the application -.
+print "Invoking executor - stop the application -\n";
+print "by running dance_plan_launcher.exe with -k file://EM.ior -x $cdp_file -q\n";
+
+$E =
+ new PerlACE::Process ("$DAnCE/bin/dance_plan_launcher",
+ "-k file://EM.ior -x $cdp_file -q");
+$E->SpawnWaitKill (30);
+
+print "Executor returned.\n";
+print "Shutting down rest of the processes.\n";
+
+delete_ior_files ();
+kill_open_processes ();
+
+exit $status;