summaryrefslogtreecommitdiff
path: root/apps/Orbix-Examples/Event_Comm/README
diff options
context:
space:
mode:
authorlevine <levine@ae88bc3d-4319-0410-8dbf-d08b4c9d3795>1996-10-21 21:41:34 +0000
committerlevine <levine@ae88bc3d-4319-0410-8dbf-d08b4c9d3795>1996-10-21 21:41:34 +0000
commita5fdebc5f6375078ec1763850a4ca23ec7fe6458 (patch)
treebcf0a25c3d45a209a6e3ac37b233a4812f29c732 /apps/Orbix-Examples/Event_Comm/README
downloadATCD-a5fdebc5f6375078ec1763850a4ca23ec7fe6458.tar.gz
Initial revision
Diffstat (limited to 'apps/Orbix-Examples/Event_Comm/README')
-rw-r--r--apps/Orbix-Examples/Event_Comm/README109
1 files changed, 109 insertions, 0 deletions
diff --git a/apps/Orbix-Examples/Event_Comm/README b/apps/Orbix-Examples/Event_Comm/README
new file mode 100644
index 00000000000..1bd7b5d8c45
--- /dev/null
+++ b/apps/Orbix-Examples/Event_Comm/README
@@ -0,0 +1,109 @@
+OVERVIEW
+
+This directory contains source code for a prototype CORBA-based
+distributed notification mechanism. This mechanism implements a
+"publish/subscribe" communication protocol. It allows Suppliers to
+pass messages containing object references to a dynamically managed
+group of Consumers. This is similar to the OMG COSS Event Service,
+though not as sophisticated.
+
+This example also illustrates how to integrate Orbix with the ACE
+libraries.
+
+DIRECTORY STRUCTURE
+
+There are 4 directories:
+
+Supplier
+
+ -- The supplier test driver, which must be started
+ first. It has an instance of an IDL Notifier
+ object. This object accepts subscriptions from Consumers
+ and forwards events sent to it either via Consumers or
+ via its standard input.
+
+ The Supplier must be registered with the ORB using the
+ following command:
+
+ % putit Event_Comm_Notifier <pathname>/supplier
+
+Consumer
+
+ -- The consumer test driver, which must be started
+ after the Supplier. It has an instance of an
+ IDL Notification_Receiver object. This object is
+ used to receive notifications from the Notifier object
+ residing in the Supplier. When the Consumer starts up it
+ gets an object reference to the Supplier's Notifier.
+ It then subscribes its Notification_Receiver object with
+ the Supplier's Notifier by passing an object reference.
+
+ In addition to passing an object reference to a
+ Notification_Receiver, the Consumer also may specify a
+ filtering criteria, which is a regular expression. If
+ the filtering criteria is the string "" then the Notifier
+ will send all Notifications to the Consumer (i.e., "" is
+ treated as a "wildcard"). Otherwise, the filtering
+ criteria is considered to be a regular expression,
+ and only those Notification tags that match the regular
+ expression will be forwarded to the Consumer. The regular
+ expressions are those used by ed(1) (see the regexp(5)
+ manual page for more info).
+
+ The Consumer must be registered with the ORB
+ using the following command:
+
+ % putit Event_Comm_Notification_Receiver <pathname>/consumer
+
+include
+
+ -- This contains links to the appropriate header
+ files.
+
+libsrc
+
+ -- This contains the IDL files and IDL implementation
+ classes that support the distributed notification scheme.
+ These are shared by the Consumer and Supplier.
+
+RUNNING THE TESTS
+
+To run the tests do the following:
+
+1. Compile everything.
+
+2. Start up the Orbix daemon (orbixd) if it's not already
+ running.
+
+3. Register the Consumer (i.e., Notification_Receiver) and Supplier
+ (i.e., Notifier) with the Orbix daemon (orbixd), as described
+ above.
+
+4. Start the Supplier/supplier executable.
+
+5. Start up as many copies of the Consumer/consumer as you'd like.
+ Typically, I run each one in its own window. If you'd like to use
+ different machines make sure that you start up the Orbix daemon on
+ each one and register the Consumer.
+
+6. Once the Consumers have subscribed you can send them info by typing
+ commands in the Supplier window. These will be sent to all the
+ Consumers who have subscribed. Likewise, you can send messages
+ from a Consumer to all other Consumers by typing messages in a
+ Consumer window.
+
+ Note that if you type "quit", ^D, or ^C in a Consumer window the
+ Consumer will unsubscribe and shutdown its handlers and exit.
+ Likewise, if you type "quit", ^D, or ^C in the Supplier window
+ the Supplier will disconnect all of its Consumers and exit.
+ When a Consumer is disconnected from its Supplier it automatically
+ shuts itself down.
+
+7. When you want to terminate a Consumer or a Supplier, just type ^C
+ and the process will shut down gracefully.
+
+Please let me know if there are any questions.
+
+ Doug
+
+schmidt@cs.wustl.edu