summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorpradeep <pradeep@ae88bc3d-4319-0410-8dbf-d08b4c9d3795>2003-06-24 15:40:05 +0000
committerpradeep <pradeep@ae88bc3d-4319-0410-8dbf-d08b4c9d3795>2003-06-24 15:40:05 +0000
commit9d70d2a3bbbec5751eb24955dd249a4c0c85e842 (patch)
tree401a98796f7243fa96da23cde61c0dd7606ed01f
parent778a02412d9d235e2a92b35e40b8c421b6421b98 (diff)
downloadATCD-9d70d2a3bbbec5751eb24955dd249a4c0c85e842.tar.gz
ChangeLogTag: Tue Jun 24 11:34:53 2003 Pradeep Gore <pradeep@oomworks.com>
-rw-r--r--TAO/orbsvcs/examples/Notify/Lanes/README62
1 files changed, 62 insertions, 0 deletions
diff --git a/TAO/orbsvcs/examples/Notify/Lanes/README b/TAO/orbsvcs/examples/Notify/Lanes/README
new file mode 100644
index 00000000000..f08b653ab39
--- /dev/null
+++ b/TAO/orbsvcs/examples/Notify/Lanes/README
@@ -0,0 +1,62 @@
+
+Lanes example
+=============
+
+This example shows how to use RTCORBA lanes with Notification to
+create a priority path between suppliers and consumers.
+
+The example consists of 2 executables:
+./Supplier and ./Consumer
+
+Each of these encapsulate a Supplier and Consumer process consisting
+of exactly 1 Notification PushSupplier and a Notification PushConsumer
+respectively.
+
+First we start the Naming and RT Notification Service.
+
+Then we start the Supplier. The Supplier starts up and creates an event channel. It uses the
+<set_qos> to set the ThreadpoolLanesParams QoS on the event
+channel. This QoS specifies a lane for each priority that a consumer
+will run at. There is also an extra lane created at priority 0 (Note:
+the example uses the continuous priority mapping policy) to facilitate
+invocations by the supplier's worker thread for administrative methods
+(such as <subscription_change>).
+
+Then we start each consumer at prorities 1,2.3.. sequentially. The
+run_test.pl script shows 2 consumers at priority 1 and 2.
+
+Each consumer is specified a priority at which it is hosted in an RT
+POA. The consumer client process creates an RT POA with 1 lane and
+activates the consumer in it.
+
+Each consumer send a subscription change message to the event channel
+for its type. The message reaches the supplier and it updates its
+count of the consumers that have connected.
+
+When the expected number of consumers have connected, the suppliers
+starts a loop in which it send an event each to the event channel with
+the correct priority and evvent type for each consumer.
+
+The RT_Notification matches the lane for the proxy consumer and sends
+the event to the consumer using the CLIENT_PROPAGATED priority model.
+
+Running the example
+===================
+
+Simply execute the run_test.pl script in this directoty.
+Remember, you must have root privileges to set RT priorities.
+
+Expected result:
+================
+
+You should see the following messages:
+
+(4784, 328)Initializing Consumer Client with lane priority = 2, event type = (TEST_TYPE_2)
+(6020, 6032)Initializing Consumer Client with lane priority = 1, event type = (TEST_TYPE_1)
+(6060, 4532) Supplier is sending an event of type TEST_TYPE_1 at priority 1
+(6020, 6068) Consumer received event with priority = 1 and thread priority = 1
+(6060, 4532) Supplier is sending an event of type TEST_TYPE_2 at priority 2
+(4784, 4760) Consumer received event with priority = 2 and thread priority = 2
+
+if there is a mismatch in the expected results. The consumer will
+print a warning message.