$Id$ Real-Time Event Service File: DevGuideExamples/EventServices/RTEC_Federated/README This directory contains an example that shows how to create and federate real-time event channels. ------------------------------------------------------------------------- Note: To test this, you must first run the Naming Service, e.g.: $TAO_ROOT/orbsvcs/Naming_Service/Naming_Service -o ns.ior& After running the naming service, start a couple of suppliers: ./EchoEventSupplier -ORBInitRef NameService=file://ns.ior -ORBSvcConf supplier.conf -ecname name1 -gateway name2 ./EchoEventSupplier -ORBInitRef NameService=file://ns.ior -ORBSvcConf supplier.conf -ecname name2 -gateway name1 Now start some consumers: ./EchoEventConsumer -ORBInitRef NameService=file://ns.ior -ecname name1 ./EchoEventConsumer -ORBInitRef NameService=file://ns.ior -ecname name2 It may be easiest to start these in separate windows. You should see events from both suppliers on both event channels. ------------------------------------------------------------------------- EchoEventSupplerMain.cpp Main program for a PushSupplier. EchoEventSupplier -ORBInitRef NameService=file://ns.ior -ORBSvcConf supplier.conf -ecname -gateway -iorfile This will create a local RTEC event channel and bind it under the root context of the naming service with the name . It will also create a gateway that links from the remote event channel bound under to the locally created event channel. After initializing the local event channel, it will idle until it locates the remote event channel, initialize the gateway, and then publish an event to the local event channel every 10 milliseconds. This event will contain the string in the any_value field. When the gateway is initialized, you'll see a message stating "Gateway initialized". If you pass the -iorfile parameter, this server also writes the EC's IOR to when the gateway is initialized. Use Control-C to kill the process. ------------------------------------------------------------------------- EchoEventConsumerMain.cpp Main program for a PushConsumer. To run it: EchoEventConsumer -ORBInitRef NameService=file://ns.ior -ecname This will look for an event channel bound to in the Root context of the Naming Service. It will consume events from this channel and print the type, source, and string contents contained in any_value. Use Control-C to kill the process. ------------------------------------------------------------------------- EchoEventConsumer_i.{h,cpp} Call which implements the RtecEventComm::PushConsumer interface. Exeuction via Perl Script ------------------------- A Perl script has been created to automate the steps shown above. This script can be run via the following command: ./run_test.pl