diff options
Diffstat (limited to 'cpp/test/IceStorm/single/Subscriber.cpp')
-rw-r--r-- | cpp/test/IceStorm/single/Subscriber.cpp | 29 |
1 files changed, 29 insertions, 0 deletions
diff --git a/cpp/test/IceStorm/single/Subscriber.cpp b/cpp/test/IceStorm/single/Subscriber.cpp index fd53c2f722e..effd4246688 100644 --- a/cpp/test/IceStorm/single/Subscriber.cpp +++ b/cpp/test/IceStorm/single/Subscriber.cpp @@ -177,6 +177,35 @@ run(int argc, char* argv[], const CommunicatorPtr& communicator) topic->subscribe(qos, adapter->addWithUUID(subscribers.back())); } + // + // Setup bi-directional subscribers. + // + topic->ice_connection()->setAdapter(adapter); + { + subscribers.push_back(new SingleI(communicator, "bi-directional oneway")); + IceStorm::QoS qos; + qos["reliability"] = "oneway"; + topic->subscribeBidir(qos, adapter->addWithUUID(subscribers.back())->ice_getIdentity()); + } + { + subscribers.push_back(new SingleI(communicator, "bi-directional twoway")); + IceStorm::QoS qos; + qos["reliability"] = "twoway"; + topic->subscribeBidir(qos, adapter->addWithUUID(subscribers.back())->ice_getIdentity()); + } + { + subscribers.push_back(new SingleI(communicator, "bi-directional batch")); + IceStorm::QoS qos; + qos["reliability"] = "batch"; + topic->subscribeBidir(qos, adapter->addWithUUID(subscribers.back())->ice_getIdentity()); + } + { + subscribers.push_back(new SingleI(communicator, "bi-directional twoway ordered", true)); // Ordered + IceStorm::QoS qos; + qos["reliability"] = "twoway ordered"; + topic->subscribeBidir(qos, adapter->addWithUUID(subscribers.back())->ice_getIdentity()); + } + adapter->activate(); for(vector<SingleIPtr>::const_iterator p = subscribers.begin(); p != subscribers.end(); ++p) |