diff options
Diffstat (limited to 'cpp/demo/IceStorm/clock/Subscriber.cpp')
-rw-r--r-- | cpp/demo/IceStorm/clock/Subscriber.cpp | 19 |
1 files changed, 18 insertions, 1 deletions
diff --git a/cpp/demo/IceStorm/clock/Subscriber.cpp b/cpp/demo/IceStorm/clock/Subscriber.cpp index 32158f9072b..02663318c28 100644 --- a/cpp/demo/IceStorm/clock/Subscriber.cpp +++ b/cpp/demo/IceStorm/clock/Subscriber.cpp @@ -41,11 +41,28 @@ run(int argc, char* argv[], const Ice::CommunicatorPtr& communicator) Ice::ObjectPrx object = adapter->createProxy(id); + // + // The set of topics to which to subscribe + // IceStorm::StringSeq topics; topics.push_back("time"); + + // + // The requested quality of service. This requests "reliability" = + // "batch". This asks IceStorm to send events to the subscriber in + // batches at regular intervals. + // IceStorm::QoS qos; qos["reliability"] = "batch"; - manager->subscribe("events", qos, topics, object); + try + { + manager->subscribe("events", qos, topics, object); + } + catch(const IceStorm::NoSuchTopic& e) + { + cerr << argv[0] << ": NoSuchTopic: " << e.name << endl; + return EXIT_FAILURE; + } adapter->activate(); |