summaryrefslogtreecommitdiff
path: root/TAO/orbsvcs
diff options
context:
space:
mode:
Diffstat (limited to 'TAO/orbsvcs')
-rw-r--r--TAO/orbsvcs/examples/Makefile.bor9
-rw-r--r--TAO/orbsvcs/examples/RtEC/Makefile.bor8
-rw-r--r--TAO/orbsvcs/examples/RtEC/Simple/Consumer.cpp35
-rw-r--r--TAO/orbsvcs/examples/RtEC/Simple/EC_Simple_Consumer.bor34
-rw-r--r--TAO/orbsvcs/examples/RtEC/Simple/EC_Simple_Service.bor36
-rw-r--r--TAO/orbsvcs/examples/RtEC/Simple/EC_Simple_Supplier.bor34
-rw-r--r--TAO/orbsvcs/examples/RtEC/Simple/Makefile.bor10
-rw-r--r--TAO/orbsvcs/examples/RtEC/Simple/README7
-rw-r--r--TAO/orbsvcs/examples/RtEC/Simple/Service.cpp39
-rw-r--r--TAO/orbsvcs/examples/RtEC/Simple/Supplier.cpp35
-rwxr-xr-xTAO/orbsvcs/examples/RtEC/Simple/run_test.pl41
-rw-r--r--TAO/orbsvcs/examples/Security/Makefile.bor8
-rw-r--r--TAO/orbsvcs/examples/Security/Send_File/Makefile.bor7
-rw-r--r--TAO/orbsvcs/examples/Security/Send_File/client.bor37
-rw-r--r--TAO/orbsvcs/examples/Security/Send_File/server.bor47
-rw-r--r--TAO/orbsvcs/orbsvcs/CosEvent/CEC_Default_Factory.cpp30
-rw-r--r--TAO/orbsvcs/orbsvcs/CosEvent/CEC_Default_Factory.h4
-rw-r--r--TAO/orbsvcs/orbsvcs/CosEvent/CEC_Default_Factory.i4
-rw-r--r--TAO/orbsvcs/orbsvcs/CosEvent/CEC_Defaults.h8
-rw-r--r--TAO/orbsvcs/orbsvcs/CosEvent/CEC_Reactive_ConsumerControl.cpp8
-rw-r--r--TAO/orbsvcs/orbsvcs/CosEvent/CEC_Reactive_ConsumerControl.h4
-rw-r--r--TAO/orbsvcs/orbsvcs/CosEvent/CEC_Reactive_SupplierControl.cpp10
-rw-r--r--TAO/orbsvcs/orbsvcs/CosEvent/CEC_Reactive_SupplierControl.h8
-rw-r--r--TAO/orbsvcs/orbsvcs/Event/EC_Basic_Factory.cpp8
-rw-r--r--TAO/orbsvcs/orbsvcs/Event/EC_Default_Factory.cpp30
-rw-r--r--TAO/orbsvcs/orbsvcs/Event/EC_Default_Factory.h6
-rw-r--r--TAO/orbsvcs/orbsvcs/Event/EC_Default_Factory.i4
-rw-r--r--TAO/orbsvcs/orbsvcs/Event/EC_Defaults.h8
-rw-r--r--TAO/orbsvcs/orbsvcs/Event/EC_ProxySupplier.cpp8
-rw-r--r--TAO/orbsvcs/orbsvcs/Event/EC_Reactive_ConsumerControl.cpp8
-rw-r--r--TAO/orbsvcs/orbsvcs/Event/EC_Reactive_ConsumerControl.h4
-rw-r--r--TAO/orbsvcs/orbsvcs/Event/EC_Reactive_SupplierControl.cpp10
-rw-r--r--TAO/orbsvcs/orbsvcs/Event/EC_Reactive_SupplierControl.h4
-rw-r--r--TAO/orbsvcs/tests/Makefile.bor1
-rw-r--r--TAO/orbsvcs/tests/Notify/performance-tests/Filter/Makefile15
35 files changed, 487 insertions, 82 deletions
diff --git a/TAO/orbsvcs/examples/Makefile.bor b/TAO/orbsvcs/examples/Makefile.bor
new file mode 100644
index 00000000000..7d71c481151
--- /dev/null
+++ b/TAO/orbsvcs/examples/Makefile.bor
@@ -0,0 +1,9 @@
+#
+# Makefile for building orbsvcs examples
+#
+
+DIRS = \
+ RtEC \
+ Security
+
+!include <$(ACE_ROOT)\include\makeinclude\recurse.bor>
diff --git a/TAO/orbsvcs/examples/RtEC/Makefile.bor b/TAO/orbsvcs/examples/RtEC/Makefile.bor
new file mode 100644
index 00000000000..7a366c1b5d1
--- /dev/null
+++ b/TAO/orbsvcs/examples/RtEC/Makefile.bor
@@ -0,0 +1,8 @@
+#
+# Makefile for building orbsvcs RtEC examples
+#
+
+DIRS = \
+ Simple
+
+!include <$(ACE_ROOT)\include\makeinclude\recurse.bor>
diff --git a/TAO/orbsvcs/examples/RtEC/Simple/Consumer.cpp b/TAO/orbsvcs/examples/RtEC/Simple/Consumer.cpp
index 191503bfb3d..ca7c00abed3 100644
--- a/TAO/orbsvcs/examples/RtEC/Simple/Consumer.cpp
+++ b/TAO/orbsvcs/examples/RtEC/Simple/Consumer.cpp
@@ -3,6 +3,7 @@
#include "Consumer.h"
#include "orbsvcs/RtecEventChannelAdminC.h"
#include "orbsvcs/Event_Service_Constants.h"
+#include "orbsvcs/CosNamingC.h"
ACE_RCSID(EC_Examples, Consumer, "$Id$")
@@ -36,13 +37,6 @@ Consumer::run (int argc, char* argv[])
// the run() method.
this->orb_ = orb.in ();
- if (argc <= 1)
- {
- ACE_ERROR ((LM_ERROR,
- "Usage: Consumer <event_channel_ior>\n"));
- return 1;
- }
-
CORBA::Object_var object =
orb->resolve_initial_references ("RootPOA" ACE_ENV_ARG_PARAMETER);
ACE_TRY_CHECK;
@@ -55,15 +49,30 @@ Consumer::run (int argc, char* argv[])
poa_manager->activate (ACE_ENV_SINGLE_ARG_PARAMETER);
ACE_TRY_CHECK;
- // Obtain the event channel, we could use a naming service, a
- // command line argument or resolve_initial_references(), but
- // this is simpler...
- object =
- orb->string_to_object (argv[1] ACE_ENV_ARG_PARAMETER);
+ // Obtain the event channel from the naming service
+ CORBA::Object_var naming_obj =
+ orb->resolve_initial_references ("NameService" ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+ if (CORBA::is_nil (naming_obj.in ()))
+ ACE_ERROR_RETURN ((LM_ERROR,
+ " (%P|%t) Unable to get the Naming Service.\n"),
+ 1);
+
+ CosNaming::NamingContext_var naming_context =
+ CosNaming::NamingContext::_narrow (naming_obj.in () ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+ CosNaming::Name name (1);
+ name.length (1);
+ name[0].id = CORBA::string_dup ("EventService");
+
+ CORBA::Object_var ec_obj =
+ naming_context->resolve (name ACE_ENV_ARG_PARAMETER);
ACE_TRY_CHECK;
RtecEventChannelAdmin::EventChannel_var event_channel =
- RtecEventChannelAdmin::EventChannel::_narrow (object.in ()
+ RtecEventChannelAdmin::EventChannel::_narrow (ec_obj.in ()
ACE_ENV_ARG_PARAMETER);
ACE_TRY_CHECK;
diff --git a/TAO/orbsvcs/examples/RtEC/Simple/EC_Simple_Consumer.bor b/TAO/orbsvcs/examples/RtEC/Simple/EC_Simple_Consumer.bor
new file mode 100644
index 00000000000..e6d11077a5c
--- /dev/null
+++ b/TAO/orbsvcs/examples/RtEC/Simple/EC_Simple_Consumer.bor
@@ -0,0 +1,34 @@
+#
+# $Id$
+#
+
+NAME = Consumer
+
+OBJFILES = \
+ $(OBJDIR)\Consumer.obj
+
+CFLAGS = \
+ $(TAO_RTSCHED_CFLAGS) \
+ $(TAO_RTEVENT_CFLAGS) \
+ $(TAO_NAMING_CFLAGS) \
+ $(TAO_SVC_UTILS_CFLAGS) \
+ $(TAO_IORTABLE_CFLAGS) \
+ $(TAO_PORTABLESERVER_CFLAGS) \
+ $(TAO_MESSAGING_CFLAGS) \
+ $(TAO_CFLAGS) \
+ $(ACE_CFLAGS)
+
+LIBFILES = \
+ $(TAO_RTSCHED_LIB) \
+ $(TAO_RTEVENT_LIB) \
+ $(TAO_NAMING_LIB) \
+ $(TAO_SVC_UTILS_LIB) \
+ $(TAO_IORTABLE_LIB) \
+ $(TAO_PORTABLESERVER_LIB) \
+ $(TAO_MESSAGING_LIB) \
+ $(TAO_LIB) \
+ $(ACE_LIB)
+
+CPPDIR = .
+
+!include <$(ACE_ROOT)\include\makeinclude\build_exe.bor>
diff --git a/TAO/orbsvcs/examples/RtEC/Simple/EC_Simple_Service.bor b/TAO/orbsvcs/examples/RtEC/Simple/EC_Simple_Service.bor
new file mode 100644
index 00000000000..70a16056527
--- /dev/null
+++ b/TAO/orbsvcs/examples/RtEC/Simple/EC_Simple_Service.bor
@@ -0,0 +1,36 @@
+#
+# $Id$
+#
+
+NAME = Service
+
+OBJFILES = \
+ $(OBJDIR)\Service.obj
+
+CFLAGS = \
+ $(TAO_RTOLDEVENT_CFLAGS) \
+ $(TAO_RTSCHED_CFLAGS) \
+ $(TAO_RTEVENT_CFLAGS) \
+ $(TAO_NAMING_CFLAGS) \
+ $(TAO_SVC_UTILS_CFLAGS) \
+ $(TAO_IORTABLE_CFLAGS) \
+ $(TAO_PORTABLESERVER_CFLAGS) \
+ $(TAO_MESSAGING_CFLAGS) \
+ $(TAO_CFLAGS) \
+ $(ACE_CFLAGS)
+
+LIBFILES = \
+ $(TAO_RTOLDEVENT_LIB) \
+ $(TAO_RTSCHED_LIB) \
+ $(TAO_RTEVENT_LIB) \
+ $(TAO_NAMING_LIB) \
+ $(TAO_SVC_UTILS_LIB) \
+ $(TAO_IORTABLE_LIB) \
+ $(TAO_PORTABLESERVER_LIB) \
+ $(TAO_MESSAGING_LIB) \
+ $(TAO_LIB) \
+ $(ACE_LIB)
+
+CPPDIR = .
+
+!include <$(ACE_ROOT)\include\makeinclude\build_exe.bor>
diff --git a/TAO/orbsvcs/examples/RtEC/Simple/EC_Simple_Supplier.bor b/TAO/orbsvcs/examples/RtEC/Simple/EC_Simple_Supplier.bor
new file mode 100644
index 00000000000..f4c89ba10be
--- /dev/null
+++ b/TAO/orbsvcs/examples/RtEC/Simple/EC_Simple_Supplier.bor
@@ -0,0 +1,34 @@
+#
+# $Id$
+#
+
+NAME = Supplier
+
+OBJFILES = \
+ $(OBJDIR)\Supplier.obj
+
+CFLAGS = \
+ $(TAO_RTSCHED_CFLAGS) \
+ $(TAO_RTEVENT_CFLAGS) \
+ $(TAO_NAMING_CFLAGS) \
+ $(TAO_SVC_UTILS_CFLAGS) \
+ $(TAO_IORTABLE_CFLAGS) \
+ $(TAO_PORTABLESERVER_CFLAGS) \
+ $(TAO_MESSAGING_CFLAGS) \
+ $(TAO_CFLAGS) \
+ $(ACE_CFLAGS)
+
+LIBFILES = \
+ $(TAO_RTSCHED_LIB) \
+ $(TAO_RTEVENT_LIB) \
+ $(TAO_NAMING_LIB) \
+ $(TAO_SVC_UTILS_LIB) \
+ $(TAO_IORTABLE_LIB) \
+ $(TAO_PORTABLESERVER_LIB) \
+ $(TAO_MESSAGING_LIB) \
+ $(TAO_LIB) \
+ $(ACE_LIB)
+
+CPPDIR = .
+
+!include <$(ACE_ROOT)\include\makeinclude\build_exe.bor>
diff --git a/TAO/orbsvcs/examples/RtEC/Simple/Makefile.bor b/TAO/orbsvcs/examples/RtEC/Simple/Makefile.bor
new file mode 100644
index 00000000000..4d5627cba21
--- /dev/null
+++ b/TAO/orbsvcs/examples/RtEC/Simple/Makefile.bor
@@ -0,0 +1,10 @@
+#
+# $Id$
+#
+
+MAKEFILES = \
+ EC_Simple_Service.bor \
+ EC_Simple_Consumer.bor \
+ EC_Simple_Supplier.bor
+
+!include <$(ACE_ROOT)\include\makeinclude\recurse.bor>
diff --git a/TAO/orbsvcs/examples/RtEC/Simple/README b/TAO/orbsvcs/examples/RtEC/Simple/README
index fff86abc12f..a0cc11e59e4 100644
--- a/TAO/orbsvcs/examples/RtEC/Simple/README
+++ b/TAO/orbsvcs/examples/RtEC/Simple/README
@@ -6,9 +6,10 @@ consumer, supplier and a program to create the event channel itself.
Run using the run_test.pl script or:
-$ ./Service -o ec.ior
-$ ./Consumer file://ec.ior
-$ ./Supplier file://ec.ior
+$ ../../../Naming_Service/Naming_Service
+$ ./Service
+$ ./Consumer
+$ ./Supplier
more advanced tests are available in
$TAO_ROOT/orbsvcs/tests/Event and $TAO_ROOT/orbsvcs/EC_*
diff --git a/TAO/orbsvcs/examples/RtEC/Simple/Service.cpp b/TAO/orbsvcs/examples/RtEC/Simple/Service.cpp
index 657aaae2f3b..beb024502bd 100644
--- a/TAO/orbsvcs/examples/RtEC/Simple/Service.cpp
+++ b/TAO/orbsvcs/examples/RtEC/Simple/Service.cpp
@@ -3,6 +3,7 @@
#include "orbsvcs/Event/EC_Event_Channel.h"
#include "orbsvcs/Event/EC_Default_Factory.h"
#include "ace/Get_Opt.h"
+#include "orbsvcs/CosNamingC.h"
ACE_RCSID(EC_Examples, Service, "$Id$")
@@ -23,14 +24,7 @@ main (int argc, char* argv[])
CORBA::ORB_init (argc, argv, "" ACE_ENV_ARG_PARAMETER);
ACE_TRY_CHECK;
- if (parse_args (argc, argv) == -1)
- {
- ACE_ERROR ((LM_ERROR,
- "Usage: Service [-o IOR_file_name]\n"));
- return 1;
- }
-
- CORBA::Object_var object =
+ CORBA::Object_var object =
orb->resolve_initial_references ("RootPOA" ACE_ENV_ARG_PARAMETER);
ACE_TRY_CHECK;
PortableServer::POA_var poa =
@@ -42,7 +36,21 @@ main (int argc, char* argv[])
poa_manager->activate (ACE_ENV_SINGLE_ARG_PARAMETER);
ACE_TRY_CHECK;
- TAO_EC_Event_Channel_Attributes attributes (poa.in (),
+ // Obtain the naming service
+ CORBA::Object_var naming_obj =
+ orb->resolve_initial_references ("NameService" ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+ if (CORBA::is_nil (naming_obj.in ()))
+ ACE_ERROR_RETURN ((LM_ERROR,
+ " (%P|%t) Unable to get the Naming Service.\n"),
+ 1);
+
+ CosNaming::NamingContext_var naming_context =
+ CosNaming::NamingContext::_narrow (naming_obj.in () ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+ TAO_EC_Event_Channel_Attributes attributes (poa.in (),
poa.in ());
TAO_EC_Event_Channel ec_impl (attributes);
@@ -53,12 +61,21 @@ main (int argc, char* argv[])
ec_impl._this (ACE_ENV_SINGLE_ARG_PARAMETER);
ACE_TRY_CHECK;
+ // Create a name.
+ CosNaming::Name name;
+ name.length (1);
+ name[0].id = CORBA::string_dup ("EventService");
+ name[0].kind = CORBA::string_dup ("");
+
+ // Register with the name server
+ naming_context->bind (name, event_channel.in () ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+ // Example code: How to write ior to file
CORBA::String_var ior =
orb->object_to_string (event_channel.in () ACE_ENV_ARG_PARAMETER);
ACE_TRY_CHECK;
-
ACE_DEBUG ((LM_DEBUG, "Activated as <%s>\n", ior.in ()));
-
// If the ior_output_file exists, output the ior to it
if (ior_output_file != 0)
{
diff --git a/TAO/orbsvcs/examples/RtEC/Simple/Supplier.cpp b/TAO/orbsvcs/examples/RtEC/Simple/Supplier.cpp
index 481850d7a64..2b675d94f14 100644
--- a/TAO/orbsvcs/examples/RtEC/Simple/Supplier.cpp
+++ b/TAO/orbsvcs/examples/RtEC/Simple/Supplier.cpp
@@ -3,6 +3,7 @@
#include "Supplier.h"
#include "orbsvcs/RtecEventChannelAdminC.h"
#include "orbsvcs/Event_Service_Constants.h"
+#include "orbsvcs/CosNamingC.h"
ACE_RCSID(EC_Examples, Supplier, "$Id$")
@@ -31,13 +32,6 @@ Supplier::run (int argc, char* argv[])
CORBA::ORB_init (argc, argv, "" ACE_ENV_ARG_PARAMETER);
ACE_TRY_CHECK;
- if (argc <= 1)
- {
- ACE_ERROR ((LM_ERROR,
- "Usage: Supplier <event_channel_ior>\n"));
- return 1;
- }
-
CORBA::Object_var object =
orb->resolve_initial_references ("RootPOA" ACE_ENV_ARG_PARAMETER);
ACE_TRY_CHECK;
@@ -50,15 +44,30 @@ Supplier::run (int argc, char* argv[])
poa_manager->activate (ACE_ENV_SINGLE_ARG_PARAMETER);
ACE_TRY_CHECK;
- // Obtain the event channel, we could use a naming service, a
- // command line argument or resolve_initial_references(), but
- // this is simpler...
- object =
- orb->string_to_object (argv[1] ACE_ENV_ARG_PARAMETER);
+ // Obtain the event channel from the naming service
+ CORBA::Object_var naming_obj =
+ orb->resolve_initial_references ("NameService" ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+ if (CORBA::is_nil (naming_obj.in ()))
+ ACE_ERROR_RETURN ((LM_ERROR,
+ " (%P|%t) Unable to get the Naming Service.\n"),
+ 1);
+
+ CosNaming::NamingContext_var naming_context =
+ CosNaming::NamingContext::_narrow (naming_obj.in () ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+ CosNaming::Name name (1);
+ name.length (1);
+ name[0].id = CORBA::string_dup ("EventService");
+
+ CORBA::Object_var ec_obj =
+ naming_context->resolve (name ACE_ENV_ARG_PARAMETER);
ACE_TRY_CHECK;
RtecEventChannelAdmin::EventChannel_var event_channel =
- RtecEventChannelAdmin::EventChannel::_narrow (object.in ()
+ RtecEventChannelAdmin::EventChannel::_narrow (ec_obj.in ()
ACE_ENV_ARG_PARAMETER);
ACE_TRY_CHECK;
diff --git a/TAO/orbsvcs/examples/RtEC/Simple/run_test.pl b/TAO/orbsvcs/examples/RtEC/Simple/run_test.pl
index c6569e66368..ca45c8b972e 100755
--- a/TAO/orbsvcs/examples/RtEC/Simple/run_test.pl
+++ b/TAO/orbsvcs/examples/RtEC/Simple/run_test.pl
@@ -10,34 +10,46 @@ use PerlACE::Run_Test;
$status = 0;
-$iorfile = PerlACE::LocalFile ("ec.ior");
+$ns_ior = PerlACE::LocalFile ("ns.ior");
$conffile = PerlACE::LocalFile ("ec" . "$PerlACE::svcconf_ext");
-unlink $iorfile;
+unlink $ns_ior;
+
+$NS = new PerlACE::Process ("../../../Naming_Service/Naming_Service",
+ "-o $ns_ior ");
$T = new PerlACE::Process ("Service",
- "-ORBsvcconf $conffile -o $iorfile");
+ "-ORBInitRef NameService=file://$ns_ior "
+ . "-ORBsvcconf $conffile");
$C = new PerlACE::Process ("Consumer",
- "file://$iorfile");
+ "-ORBInitRef NameService=file://$ns_ior ");
$S = new PerlACE::Process ("Supplier",
- "file://$iorfile");
+ "-ORBInitRef NameService=file://$ns_ior ");
-$T->Spawn ();
+print STDOUT "Starting name server\n";
+$NS->Spawn ();
-if (PerlACE::waitforfile_timed ($iorfile, 15) == -1) {
- print STDERR "ERROR: cannot find file <$iorfile>\n";
- $T->Kill ();
+if (PerlACE::waitforfile_timed ($ns_ior, 15) == -1) {
+ print STDERR "ERROR: cannot find file <$ns_ior>\n";
+ $NS->Kill ();
exit 1;
}
+print STDOUT "Starting event server\n";
+$T->Spawn ();
+
+sleep 2;
+
+print STDOUT "Starting consumer\n";
$C->Spawn ();
-sleep 5;
+sleep 1;
+print STDOUT "Starting supplier\n";
$supplier = $S->SpawnWaitKill (120);
if ($supplier != 0) {
@@ -59,6 +71,13 @@ if ($service != 0) {
$status = 1;
}
-unlink $iorfile;
+$nserver = $NS->TerminateWaitKill (5);
+
+if ($nserver != 0) {
+ print STDERR "ERROR: name server returned $nserver\n";
+ $status = 1;
+}
+
+unlink $ns_ior;
exit $status;
diff --git a/TAO/orbsvcs/examples/Security/Makefile.bor b/TAO/orbsvcs/examples/Security/Makefile.bor
new file mode 100644
index 00000000000..4d30128a8a0
--- /dev/null
+++ b/TAO/orbsvcs/examples/Security/Makefile.bor
@@ -0,0 +1,8 @@
+#
+# Makefile for building orbsvcs security examples
+#
+
+DIRS = \
+ Send_File
+
+!include <$(ACE_ROOT)\include\makeinclude\recurse.bor>
diff --git a/TAO/orbsvcs/examples/Security/Send_File/Makefile.bor b/TAO/orbsvcs/examples/Security/Send_File/Makefile.bor
new file mode 100644
index 00000000000..cf74b15e3cd
--- /dev/null
+++ b/TAO/orbsvcs/examples/Security/Send_File/Makefile.bor
@@ -0,0 +1,7 @@
+#
+# Makefile for building the security send_file test executables
+#
+
+MAKEFILES = server.bor client.bor
+
+!include <$(ACE_ROOT)\include\makeinclude\recurse.bor>
diff --git a/TAO/orbsvcs/examples/Security/Send_File/client.bor b/TAO/orbsvcs/examples/Security/Send_File/client.bor
new file mode 100644
index 00000000000..6779fd870d2
--- /dev/null
+++ b/TAO/orbsvcs/examples/Security/Send_File/client.bor
@@ -0,0 +1,37 @@
+#
+# Makefile for building the security send_file executable
+#
+
+!ifdef SSL_ROOT
+NAME = client
+!endif
+
+TAO_IDL = $(CORE_BINDIR)\tao_idl -g $(CORE_BINDIR)\gperf.exe -Ge 1
+
+OBJFILES = \
+ $(OBJDIR)\testC.obj \
+ $(OBJDIR)\client.obj
+
+CFLAGS = \
+ $(ACE_CFLAGS) \
+ $(TAO_CFLAGS)
+
+LIBFILES = \
+ $(ACE_LIB) \
+ $(TAO_LIB)
+
+IDLFILES = \
+ $(IDLDIR)\test.idl
+
+CPPDIR = .
+
+IDLDIR = .
+
+!include <$(ACE_ROOT)\include\makeinclude\build_exe.bor>
+
+#
+# IDL Build rules
+#
+
+$(IDLDIR)\testS.cpp $(IDLDIR)\testC.cpp: $(IDLDIR)\test.idl
+ $(TAO_IDL) $**
diff --git a/TAO/orbsvcs/examples/Security/Send_File/server.bor b/TAO/orbsvcs/examples/Security/Send_File/server.bor
new file mode 100644
index 00000000000..3ef9f70550b
--- /dev/null
+++ b/TAO/orbsvcs/examples/Security/Send_File/server.bor
@@ -0,0 +1,47 @@
+#
+# Makefile for building the security send_file executable
+#
+
+!ifdef SSL_ROOT
+NAME = server
+!endif
+
+TAO_IDL = $(CORE_BINDIR)\tao_idl -g $(CORE_BINDIR)\gperf.exe -Ge 1
+
+OBJFILES = \
+ $(OBJDIR)\testC.obj \
+ $(OBJDIR)\testS.obj \
+ $(OBJDIR)\test_i.obj \
+ $(OBJDIR)\server.obj
+
+CFLAGS = \
+ $(ACE_CFLAGS) \
+ $(ACE_SSL_CFLAGS) \
+ $(SSL_CFLAGS) \
+ $(TAO_CFLAGS) \
+ $(TAO_PORTABLESERVER_CFLAGS) \
+ $(TAO_SSLIOP_CFLAGS)
+
+LIBFILES = \
+ $(ACE_LIB) \
+ $(ACE_SSL_LIB) \
+ $(SSL_LIB) \
+ $(TAO_LIB) \
+ $(TAO_PORTABLESERVER_LIB) \
+ $(TAO_SSLIOP_LIB)
+
+IDLFILES = \
+ $(IDLDIR)\test.idl
+
+CPPDIR = .
+
+IDLDIR = .
+
+!include <$(ACE_ROOT)\include\makeinclude\build_exe.bor>
+
+#
+# IDL Build rules
+#
+
+$(IDLDIR)\testS.cpp $(IDLDIR)\testC.cpp: $(IDLDIR)\test.idl
+ $(TAO_IDL) $**
diff --git a/TAO/orbsvcs/orbsvcs/CosEvent/CEC_Default_Factory.cpp b/TAO/orbsvcs/orbsvcs/CosEvent/CEC_Default_Factory.cpp
index 1d52ba86c0a..0421f66e7ac 100644
--- a/TAO/orbsvcs/orbsvcs/CosEvent/CEC_Default_Factory.cpp
+++ b/TAO/orbsvcs/orbsvcs/CosEvent/CEC_Default_Factory.cpp
@@ -323,6 +323,32 @@ TAO_CEC_Default_Factory::init (int argc, ACE_TCHAR* argv[])
}
}
+ else if (ACE_OS::strcasecmp (arg, ACE_LIB_TEXT("-CECConsumerControlTimeout")) == 0)
+ {
+ arg_shifter.consume_arg ();
+
+ if (arg_shifter.is_parameter_next ())
+ {
+ const ACE_TCHAR* opt = arg_shifter.get_current ();
+ unsigned long timeout_ = ACE_OS::strtoul(opt, 0, 10);
+ this->consumer_control_timeout_.usec(timeout_);
+ arg_shifter.consume_arg ();
+ }
+ }
+
+ else if (ACE_OS::strcasecmp (arg, ACE_LIB_TEXT("-CECSupplierControlTimeout")) == 0)
+ {
+ arg_shifter.consume_arg ();
+
+ if (arg_shifter.is_parameter_next ())
+ {
+ const ACE_TCHAR* opt = arg_shifter.get_current ();
+ unsigned long timeout_ = ACE_OS::strtoul(opt, 0, 10);
+ this->supplier_control_timeout_.usec(timeout_);
+ arg_shifter.consume_arg ();
+ }
+ }
+
else if (ACE_OS::strncmp (arg, ACE_LIB_TEXT("-CEC"), 3) == 0)
{
arg_shifter.consume_arg ();
@@ -912,7 +938,7 @@ TAO_CEC_Default_Factory::create_consumer_control (TAO_CEC_EventChannel* ec)
CORBA::ORB_init (argc, argv, this->orbid_);
ACE_Time_Value rate (0, this->consumer_control_period_);
- return new TAO_CEC_Reactive_ConsumerControl (rate, ec, orb.in ());
+ return new TAO_CEC_Reactive_ConsumerControl (rate, consumer_control_timeout_, ec, orb.in ());
}
return 0;
}
@@ -936,7 +962,7 @@ TAO_CEC_Default_Factory::create_supplier_control (TAO_CEC_EventChannel* ec)
CORBA::ORB_init (argc, argv, this->orbid_);
ACE_Time_Value rate (0, this->consumer_control_period_);
- return new TAO_CEC_Reactive_SupplierControl (rate, ec, orb.in ());
+ return new TAO_CEC_Reactive_SupplierControl (rate, supplier_control_timeout_, ec, orb.in ());
}
return 0;
}
diff --git a/TAO/orbsvcs/orbsvcs/CosEvent/CEC_Default_Factory.h b/TAO/orbsvcs/orbsvcs/CosEvent/CEC_Default_Factory.h
index 610669b7559..a7b0443573a 100644
--- a/TAO/orbsvcs/orbsvcs/CosEvent/CEC_Default_Factory.h
+++ b/TAO/orbsvcs/orbsvcs/CosEvent/CEC_Default_Factory.h
@@ -153,6 +153,10 @@ private:
/// The consumer and supplier control periods in usecs
int consumer_control_period_;
int supplier_control_period_;
+
+ /// The consumer and supplier control timeout in usecs
+ ACE_Time_Value consumer_control_timeout_;
+ ACE_Time_Value supplier_control_timeout_;
};
#if defined (__ACE_INLINE__)
diff --git a/TAO/orbsvcs/orbsvcs/CosEvent/CEC_Default_Factory.i b/TAO/orbsvcs/orbsvcs/CosEvent/CEC_Default_Factory.i
index 27708f2d61d..f7699383cb4 100644
--- a/TAO/orbsvcs/orbsvcs/CosEvent/CEC_Default_Factory.i
+++ b/TAO/orbsvcs/orbsvcs/CosEvent/CEC_Default_Factory.i
@@ -18,6 +18,8 @@ TAO_CEC_Default_Factory::TAO_CEC_Default_Factory (void)
consumer_control_ (TAO_CEC_DEFAULT_CONSUMER_CONTROL),
supplier_control_ (TAO_CEC_DEFAULT_SUPPLIER_CONTROL),
consumer_control_period_ (TAO_CEC_DEFAULT_CONSUMER_CONTROL_PERIOD),
- supplier_control_period_ (TAO_CEC_DEFAULT_SUPPLIER_CONTROL_PERIOD)
+ supplier_control_period_ (TAO_CEC_DEFAULT_SUPPLIER_CONTROL_PERIOD),
+ consumer_control_timeout_ (0, TAO_CEC_DEFAULT_CONSUMER_CONTROL_TIMEOUT),
+ supplier_control_timeout_ (0, TAO_CEC_DEFAULT_SUPPLIER_CONTROL_TIMEOUT)
{
}
diff --git a/TAO/orbsvcs/orbsvcs/CosEvent/CEC_Defaults.h b/TAO/orbsvcs/orbsvcs/CosEvent/CEC_Defaults.h
index 317eae870c8..99860d8d0de 100644
--- a/TAO/orbsvcs/orbsvcs/CosEvent/CEC_Defaults.h
+++ b/TAO/orbsvcs/orbsvcs/CosEvent/CEC_Defaults.h
@@ -120,5 +120,13 @@
# define TAO_CEC_DEFAULT_SUPPLIER_CONTROL_PERIOD 5000000 /* usecs */
#endif /* TAO_CEC_DEFAULT_SUPPLIER_CONTROL_PERIOD */
+#ifndef TAO_CEC_DEFAULT_CONSUMER_CONTROL_TIMEOUT
+# define TAO_CEC_DEFAULT_CONSUMER_CONTROL_TIMEOUT 10000 /* usecs */
+#endif /* TAO_CEC_DEFAULT_CONSUMER_CONTROL_TIMEOUT */
+
+#ifndef TAO_CEC_DEFAULT_SUPPLIER_CONTROL_TIMEOUT
+# define TAO_CEC_DEFAULT_SUPPLIER_CONTROL_TIMEOUT 10000 /* usecs */
+#endif /* TAO_CEC_DEFAULT_SUPPLIER_CONTROL_TIMEOUT */
+
#include "ace/post.h"
#endif /* TAO_CEC_DEFAULTS_H */
diff --git a/TAO/orbsvcs/orbsvcs/CosEvent/CEC_Reactive_ConsumerControl.cpp b/TAO/orbsvcs/orbsvcs/CosEvent/CEC_Reactive_ConsumerControl.cpp
index 48f3cbfed6b..a1741daf162 100644
--- a/TAO/orbsvcs/orbsvcs/CosEvent/CEC_Reactive_ConsumerControl.cpp
+++ b/TAO/orbsvcs/orbsvcs/CosEvent/CEC_Reactive_ConsumerControl.cpp
@@ -17,9 +17,11 @@ ACE_RCSID(CosEvent, CEC_Reactive_ConsumerControl, "$Id$")
TAO_CEC_Reactive_ConsumerControl::
TAO_CEC_Reactive_ConsumerControl (const ACE_Time_Value &rate,
+ const ACE_Time_Value &timeout,
TAO_CEC_EventChannel *ec,
CORBA::ORB_ptr orb)
: rate_ (rate),
+ timeout_ (timeout),
adapter_ (this),
event_channel_ (ec),
orb_ (CORBA::ORB::_duplicate (orb))
@@ -113,10 +115,8 @@ TAO_CEC_Reactive_ConsumerControl::activate (void)
ACE_ENV_ARG_PARAMETER);
ACE_TRY_CHECK;
- // Pre-compute the policy list to the set the right timeout
- // value...
- // @@ TODO It is currently hard-coded to 10 milliseconds
- TimeBase::TimeT timeout = 10 * 10000;
+ // Timeout for polling state (default = 10 msec)
+ TimeBase::TimeT timeout = timeout_.usec() * 10;
CORBA::Any any;
any <<= timeout;
diff --git a/TAO/orbsvcs/orbsvcs/CosEvent/CEC_Reactive_ConsumerControl.h b/TAO/orbsvcs/orbsvcs/CosEvent/CEC_Reactive_ConsumerControl.h
index 5aa9d8263fe..84f3c179235 100644
--- a/TAO/orbsvcs/orbsvcs/CosEvent/CEC_Reactive_ConsumerControl.h
+++ b/TAO/orbsvcs/orbsvcs/CosEvent/CEC_Reactive_ConsumerControl.h
@@ -73,6 +73,7 @@ public:
/// Constructor. It does not assume ownership of the <event_channel>
/// parameter.
TAO_CEC_Reactive_ConsumerControl (const ACE_Time_Value &rate,
+ const ACE_Time_Value &timeout,
TAO_CEC_EventChannel *event_channel,
CORBA::ORB_ptr orb);
@@ -103,6 +104,9 @@ private:
/// The polling rate
ACE_Time_Value rate_;
+ /// The polling timeout
+ ACE_Time_Value timeout_;
+
/// The Adapter for the reactor events
TAO_CEC_ConsumerControl_Adapter adapter_;
diff --git a/TAO/orbsvcs/orbsvcs/CosEvent/CEC_Reactive_SupplierControl.cpp b/TAO/orbsvcs/orbsvcs/CosEvent/CEC_Reactive_SupplierControl.cpp
index eed1fcca6aa..f7387bfaf0f 100644
--- a/TAO/orbsvcs/orbsvcs/CosEvent/CEC_Reactive_SupplierControl.cpp
+++ b/TAO/orbsvcs/orbsvcs/CosEvent/CEC_Reactive_SupplierControl.cpp
@@ -18,9 +18,11 @@ ACE_RCSID(CosEvent, CEC_Reactive_SupplierControl, "$Id$")
TAO_CEC_Reactive_SupplierControl::
TAO_CEC_Reactive_SupplierControl (const ACE_Time_Value &rate,
+ const ACE_Time_Value &timeout,
TAO_CEC_EventChannel *ec,
CORBA::ORB_ptr orb)
: rate_ (rate),
+ timeout_ (timeout),
adapter_ (this),
event_channel_ (ec),
orb_ (CORBA::ORB::_duplicate (orb))
@@ -114,11 +116,9 @@ TAO_CEC_Reactive_SupplierControl::activate (void)
ACE_ENV_ARG_PARAMETER);
ACE_TRY_CHECK;
- // Pre-compute the policy list to the set the right timeout
- // value...
- // @@ TODO It is currently hard-coded to 10 milliseconds
- TimeBase::TimeT timeout = 10 * 10000;
- CORBA::Any any;
+ // Timeout for polling state (default = 10 msec)
+ TimeBase::TimeT timeout = timeout_.usec() * 10;
+ CORBA::Any any;
any <<= timeout;
this->policy_list_.length (1);
diff --git a/TAO/orbsvcs/orbsvcs/CosEvent/CEC_Reactive_SupplierControl.h b/TAO/orbsvcs/orbsvcs/CosEvent/CEC_Reactive_SupplierControl.h
index bda347d7776..521feaf77c7 100644
--- a/TAO/orbsvcs/orbsvcs/CosEvent/CEC_Reactive_SupplierControl.h
+++ b/TAO/orbsvcs/orbsvcs/CosEvent/CEC_Reactive_SupplierControl.h
@@ -73,8 +73,9 @@ public:
/// Constructor. It does not assume ownership of the <event_channel>
/// parameter.
TAO_CEC_Reactive_SupplierControl (const ACE_Time_Value &rate,
- TAO_CEC_EventChannel *event_channel,
- CORBA::ORB_ptr orb);
+ const ACE_Time_Value &timeout,
+ TAO_CEC_EventChannel *event_channel,
+ CORBA::ORB_ptr orb);
/// destructor...
virtual ~TAO_CEC_Reactive_SupplierControl (void);
@@ -103,6 +104,9 @@ private:
/// The polling rate
ACE_Time_Value rate_;
+ /// The polling timeout
+ ACE_Time_Value timeout_;
+
/// The Adapter for the reactor events
TAO_CEC_SupplierControl_Adapter adapter_;
diff --git a/TAO/orbsvcs/orbsvcs/Event/EC_Basic_Factory.cpp b/TAO/orbsvcs/orbsvcs/Event/EC_Basic_Factory.cpp
index 13e31b03f64..ff1ba640a69 100644
--- a/TAO/orbsvcs/orbsvcs/Event/EC_Basic_Factory.cpp
+++ b/TAO/orbsvcs/orbsvcs/Event/EC_Basic_Factory.cpp
@@ -223,7 +223,9 @@ TAO_EC_Basic_Factory::create_consumer_control (TAO_EC_Event_Channel* ec)
CORBA::ORB_init (argc, argv, "");
// Hard-coded rate to 10 times a second
ACE_Time_Value rate (0, 100000);
- return new TAO_EC_Reactive_ConsumerControl (rate, ec, orb.in ());
+ // Hard-coded polling-timeout to 10 msec
+ ACE_Time_Value timeout (0, TAO_EC_DEFAULT_CONSUMER_CONTROL_TIMEOUT);
+ return new TAO_EC_Reactive_ConsumerControl (rate, timeout, ec, orb.in ());
}
void
@@ -241,7 +243,9 @@ TAO_EC_Basic_Factory::create_supplier_control (TAO_EC_Event_Channel* ec)
CORBA::ORB_init (argc, argv, "");
// Hard-coded rate to 10 times a second
ACE_Time_Value rate (0, 100000);
- return new TAO_EC_Reactive_SupplierControl (rate, ec, orb.in ());
+ // Hard-coded polling-timeout to 10 msec
+ ACE_Time_Value timeout (0, TAO_EC_DEFAULT_SUPPLIER_CONTROL_TIMEOUT);
+ return new TAO_EC_Reactive_SupplierControl (rate, timeout, ec, orb.in ());
}
void
diff --git a/TAO/orbsvcs/orbsvcs/Event/EC_Default_Factory.cpp b/TAO/orbsvcs/orbsvcs/Event/EC_Default_Factory.cpp
index b6c8596e5bf..3694d31c2e2 100644
--- a/TAO/orbsvcs/orbsvcs/Event/EC_Default_Factory.cpp
+++ b/TAO/orbsvcs/orbsvcs/Event/EC_Default_Factory.cpp
@@ -409,6 +409,32 @@ TAO_EC_Default_Factory::init (int argc, ACE_TCHAR* argv[])
}
}
+ else if (ACE_OS::strcasecmp (arg, ACE_LIB_TEXT("-ECConsumerControlTimeout")) == 0)
+ {
+ arg_shifter.consume_arg ();
+
+ if (arg_shifter.is_parameter_next ())
+ {
+ const ACE_TCHAR* opt = arg_shifter.get_current ();
+ unsigned long timeout_ = ACE_OS::strtoul(opt, 0, 10);
+ this->consumer_control_timeout_.usec(timeout_);
+ arg_shifter.consume_arg ();
+ }
+ }
+
+ else if (ACE_OS::strcasecmp (arg, ACE_LIB_TEXT("-ECSupplierControlTimeout")) == 0)
+ {
+ arg_shifter.consume_arg ();
+
+ if (arg_shifter.is_parameter_next ())
+ {
+ const ACE_TCHAR* opt = arg_shifter.get_current ();
+ unsigned long timeout_ = ACE_OS::strtoul(opt, 0, 10);
+ this->supplier_control_timeout_.usec(timeout_);
+ arg_shifter.consume_arg ();
+ }
+ }
+
else if (ACE_OS::strcasecmp (arg, ACE_LIB_TEXT("-ECPushSupplierSet")) == 0)
{
ACE_ERROR ((LM_ERROR,
@@ -876,7 +902,7 @@ TAO_EC_Default_Factory::create_consumer_control (TAO_EC_Event_Channel* ec)
CORBA::ORB_init (argc, argv, this->orbid_.c_str ());
ACE_Time_Value rate (0, this->consumer_control_period_);
- return new TAO_EC_Reactive_ConsumerControl (rate, ec, orb.in ());
+ return new TAO_EC_Reactive_ConsumerControl (rate, consumer_control_timeout_, ec, orb.in ());
}
return 0;
}
@@ -900,7 +926,7 @@ TAO_EC_Default_Factory::create_supplier_control (TAO_EC_Event_Channel* ec)
CORBA::ORB_init (argc, argv, this->orbid_.c_str ());
ACE_Time_Value rate (0, this->supplier_control_period_);
- return new TAO_EC_Reactive_SupplierControl (rate, ec, orb.in ());
+ return new TAO_EC_Reactive_SupplierControl (rate, supplier_control_timeout_, ec, orb.in ());
}
return 0;
}
diff --git a/TAO/orbsvcs/orbsvcs/Event/EC_Default_Factory.h b/TAO/orbsvcs/orbsvcs/Event/EC_Default_Factory.h
index 9055f07453b..b2e7b313eda 100644
--- a/TAO/orbsvcs/orbsvcs/Event/EC_Default_Factory.h
+++ b/TAO/orbsvcs/orbsvcs/Event/EC_Default_Factory.h
@@ -149,6 +149,12 @@ protected:
/// The consumer and supplier control periods in usecs
int consumer_control_period_;
int supplier_control_period_;
+
+ /// The consumer control timeout in usecs
+ ACE_Time_Value consumer_control_timeout_;
+
+ /// The supplier control timeout in usecs
+ ACE_Time_Value supplier_control_timeout_;
};
#if defined (__ACE_INLINE__)
diff --git a/TAO/orbsvcs/orbsvcs/Event/EC_Default_Factory.i b/TAO/orbsvcs/orbsvcs/Event/EC_Default_Factory.i
index 7e80488bf44..cd98301fa1d 100644
--- a/TAO/orbsvcs/orbsvcs/Event/EC_Default_Factory.i
+++ b/TAO/orbsvcs/orbsvcs/Event/EC_Default_Factory.i
@@ -20,6 +20,8 @@ TAO_EC_Default_Factory::TAO_EC_Default_Factory (void)
consumer_control_ (TAO_EC_DEFAULT_CONSUMER_CONTROL),
supplier_control_ (TAO_EC_DEFAULT_SUPPLIER_CONTROL),
consumer_control_period_ (TAO_EC_DEFAULT_CONSUMER_CONTROL_PERIOD),
- supplier_control_period_ (TAO_EC_DEFAULT_SUPPLIER_CONTROL_PERIOD)
+ supplier_control_period_ (TAO_EC_DEFAULT_SUPPLIER_CONTROL_PERIOD),
+ consumer_control_timeout_ (0, TAO_EC_DEFAULT_CONSUMER_CONTROL_TIMEOUT),
+ supplier_control_timeout_ (0, TAO_EC_DEFAULT_SUPPLIER_CONTROL_TIMEOUT)
{
}
diff --git a/TAO/orbsvcs/orbsvcs/Event/EC_Defaults.h b/TAO/orbsvcs/orbsvcs/Event/EC_Defaults.h
index d34deb58353..7dc1b4a3237 100644
--- a/TAO/orbsvcs/orbsvcs/Event/EC_Defaults.h
+++ b/TAO/orbsvcs/orbsvcs/Event/EC_Defaults.h
@@ -133,5 +133,13 @@
# define TAO_EC_DEFAULT_SUPPLIER_CONTROL_PERIOD 5000000 /* usecs */
#endif /* TAO_EC_DEFAULT_SUPPLIER_CONTROL_PERIOD */
+#ifndef TAO_EC_DEFAULT_CONSUMER_CONTROL_TIMEOUT
+# define TAO_EC_DEFAULT_CONSUMER_CONTROL_TIMEOUT 10000 /* usecs */
+#endif /* TAO_EC_DEFAULT_CONSUMER_CONTROL_TIMEOUT */
+
+#ifndef TAO_EC_DEFAULT_SUPPLIER_CONTROL_TIMEOUT
+# define TAO_EC_DEFAULT_SUPPLIER_CONTROL_TIMEOUT 10000 /* usecs */
+#endif /* TAO_EC_DEFAULT_SUPPLIER_CONTROL_TIMEOUT */
+
#include "ace/post.h"
#endif /* TAO_EC_DEFAULTS_H */
diff --git a/TAO/orbsvcs/orbsvcs/Event/EC_ProxySupplier.cpp b/TAO/orbsvcs/orbsvcs/Event/EC_ProxySupplier.cpp
index be322c6c6a7..6c5f997384e 100644
--- a/TAO/orbsvcs/orbsvcs/Event/EC_ProxySupplier.cpp
+++ b/TAO/orbsvcs/orbsvcs/Event/EC_ProxySupplier.cpp
@@ -265,6 +265,14 @@ TAO_EC_ProxyPushSupplier::connect_push_consumer (
RtecEventComm::PushConsumer::_duplicate (push_consumer);
this->qos_ = qos;
+ // AVE-WEB test. Try to validate the connection to the consumer
+ ACE_DEBUG ((LM_DEBUG, "Before validate connection \n"));
+ CORBA::PolicyList_var pols;
+ this->consumer_->_validate_connection(pols);
+ ACE_CHECK;
+ ACE_DEBUG ((LM_DEBUG, "After validate connection \n"));
+
+
#if TAO_EC_ENABLE_DEBUG_MESSAGES
ACE_DEBUG ((LM_DEBUG, "Building filters for consumer <%x>\n",
this));
diff --git a/TAO/orbsvcs/orbsvcs/Event/EC_Reactive_ConsumerControl.cpp b/TAO/orbsvcs/orbsvcs/Event/EC_Reactive_ConsumerControl.cpp
index 25e473a8f30..84eab4dc3c3 100644
--- a/TAO/orbsvcs/orbsvcs/Event/EC_Reactive_ConsumerControl.cpp
+++ b/TAO/orbsvcs/orbsvcs/Event/EC_Reactive_ConsumerControl.cpp
@@ -19,9 +19,11 @@ ACE_RCSID(Event, EC_Reactive_ConsumerControl, "$Id$")
TAO_EC_Reactive_ConsumerControl::
TAO_EC_Reactive_ConsumerControl (const ACE_Time_Value &rate,
+ const ACE_Time_Value &timeout,
TAO_EC_Event_Channel *ec,
CORBA::ORB_ptr orb)
: rate_ (rate),
+ timeout_ (timeout),
adapter_ (this),
event_channel_ (ec),
orb_ (CORBA::ORB::_duplicate (orb))
@@ -110,10 +112,8 @@ TAO_EC_Reactive_ConsumerControl::activate (void)
ACE_ENV_ARG_PARAMETER);
ACE_TRY_CHECK;
- // Pre-compute the policy list to the set the right timeout
- // value...
- // @@ TODO It is currently hard-coded to 10 milliseconds
- TimeBase::TimeT timeout = 10 * 10000;
+ // Timeout for polling state (default = 10 msec)
+ TimeBase::TimeT timeout = timeout_.usec() * 10;
CORBA::Any any;
any <<= timeout;
diff --git a/TAO/orbsvcs/orbsvcs/Event/EC_Reactive_ConsumerControl.h b/TAO/orbsvcs/orbsvcs/Event/EC_Reactive_ConsumerControl.h
index 063d478b916..8ab5f0767df 100644
--- a/TAO/orbsvcs/orbsvcs/Event/EC_Reactive_ConsumerControl.h
+++ b/TAO/orbsvcs/orbsvcs/Event/EC_Reactive_ConsumerControl.h
@@ -68,6 +68,7 @@ public:
/// Constructor. It does not assume ownership of the <event_channel>
/// parameter.
TAO_EC_Reactive_ConsumerControl (const ACE_Time_Value &rate,
+ const ACE_Time_Value &timeout,
TAO_EC_Event_Channel *event_channel,
CORBA::ORB_ptr orb);
@@ -96,6 +97,9 @@ private:
/// The polling rate
ACE_Time_Value rate_;
+ /// The polling timeout
+ ACE_Time_Value timeout_;
+
/// The Adapter for the reactor events
TAO_EC_ConsumerControl_Adapter adapter_;
diff --git a/TAO/orbsvcs/orbsvcs/Event/EC_Reactive_SupplierControl.cpp b/TAO/orbsvcs/orbsvcs/Event/EC_Reactive_SupplierControl.cpp
index e1f7e0f7421..30c83096e8c 100644
--- a/TAO/orbsvcs/orbsvcs/Event/EC_Reactive_SupplierControl.cpp
+++ b/TAO/orbsvcs/orbsvcs/Event/EC_Reactive_SupplierControl.cpp
@@ -19,9 +19,11 @@ ACE_RCSID(Event, EC_Reactive_SupplierControl, "$Id$")
TAO_EC_Reactive_SupplierControl::
TAO_EC_Reactive_SupplierControl (const ACE_Time_Value &rate,
+ const ACE_Time_Value &timeout,
TAO_EC_Event_Channel *ec,
CORBA::ORB_ptr orb)
: rate_ (rate),
+ timeout_ (timeout),
adapter_ (this),
event_channel_ (ec),
orb_ (CORBA::ORB::_duplicate (orb))
@@ -110,10 +112,8 @@ TAO_EC_Reactive_SupplierControl::activate (void)
ACE_ENV_ARG_PARAMETER);
ACE_TRY_CHECK;
- // Pre-compute the policy list to the set the right timeout
- // value...
- // @@ TODO It is currently hard-coded to 10 milliseconds
- TimeBase::TimeT timeout = 10 * 10000;
+ // Timeout for polling state (default = 10 msec)
+ TimeBase::TimeT timeout = timeout_.usec() * 10;
CORBA::Any any;
any <<= timeout;
@@ -122,7 +122,7 @@ TAO_EC_Reactive_SupplierControl::activate (void)
this->orb_->create_policy (
Messaging::RELATIVE_RT_TIMEOUT_POLICY_TYPE,
any
- ACE_ENV_ARG_PARAMETER);
+ ACE_ENV_ARG_PARAMETER);
ACE_TRY_CHECK;
}
ACE_CATCHANY
diff --git a/TAO/orbsvcs/orbsvcs/Event/EC_Reactive_SupplierControl.h b/TAO/orbsvcs/orbsvcs/Event/EC_Reactive_SupplierControl.h
index 1dbaad605e3..a38b9adc291 100644
--- a/TAO/orbsvcs/orbsvcs/Event/EC_Reactive_SupplierControl.h
+++ b/TAO/orbsvcs/orbsvcs/Event/EC_Reactive_SupplierControl.h
@@ -68,6 +68,7 @@ public:
/// Constructor. It does not assume ownership of the <event_channel>
/// parameter.
TAO_EC_Reactive_SupplierControl (const ACE_Time_Value &rate,
+ const ACE_Time_Value &timeout,
TAO_EC_Event_Channel *event_channel,
CORBA::ORB_ptr orb);
@@ -96,6 +97,9 @@ private:
/// The polling rate
ACE_Time_Value rate_;
+ /// The polling timeout
+ ACE_Time_Value timeout_;
+
/// The Adapter for the reactor events
TAO_EC_SupplierControl_Adapter adapter_;
diff --git a/TAO/orbsvcs/tests/Makefile.bor b/TAO/orbsvcs/tests/Makefile.bor
index 6ec947c0544..69553d90d9a 100644
--- a/TAO/orbsvcs/tests/Makefile.bor
+++ b/TAO/orbsvcs/tests/Makefile.bor
@@ -5,6 +5,7 @@
DIRS = \
AVStreams \
+ Bug_1393_Regression \
Concurrency \
CosEvent \
FaultTolerance \
diff --git a/TAO/orbsvcs/tests/Notify/performance-tests/Filter/Makefile b/TAO/orbsvcs/tests/Notify/performance-tests/Filter/Makefile
index 2107bdf0c32..44b66343b54 100644
--- a/TAO/orbsvcs/tests/Notify/performance-tests/Filter/Makefile
+++ b/TAO/orbsvcs/tests/Notify/performance-tests/Filter/Makefile
@@ -12,8 +12,8 @@ ifndef TAO_ROOT
TAO_ROOT = $(ACE_ROOT)/TAO
endif # ! TAO_ROOT
-BIN = Structured_Supplier Structured_Consumer \
- Sequence_Supplier Sequence_Consumer
+BIN2 = Structured_Supplier Structured_Consumer \
+ Sequence_Supplier Sequence_Consumer
IDL_FILES = go
IDL_SRC = goC.cpp goS.cpp
@@ -37,8 +37,17 @@ SRC = Structured_Supplier.cpp common.cpp \
CPPFLAGS += -I$(TAO_ROOT) -I$(TAO_ROOT)/orbsvcs -I../../lib
LDLIBS = -lTAO_NotifyTests -lTAO_CosNotification -lTAO_ETCL -lTAO_CosNaming -lTAO_Svc_Utils -lTAO_PortableServer -lTAO
-
TAO_IDLFLAGS += -Ge 1
+
+#### If the TAO orbsvcs library wasn't built with sufficient components,
+#### don't try to build here.
+TAO_ORBSVCS := $(shell sh $(ACE_ROOT)/bin/ace_components --orbsvcs)
+ifeq (Notify,$(findstring Notify,$(TAO_ORBSVCS)))
+ ifeq (Naming,$(findstring Naming,$(TAO_ORBSVCS)))
+ BIN = $(BIN2)
+ endif # Naming
+endif # Notify
+
#----------------------------------------------------------------------------
# Include macros and targets
#----------------------------------------------------------------------------