diff options
author | Mark Spruiell <mes@zeroc.com> | 2003-03-27 22:01:35 +0000 |
---|---|---|
committer | Mark Spruiell <mes@zeroc.com> | 2003-03-27 22:01:35 +0000 |
commit | e8280759d4aa94225d4d934fe710c17aa1f15464 (patch) | |
tree | c185ae1ce5abc14838721da108002f8fd311cbe7 /cpp/src | |
parent | adding publish adapter (diff) | |
download | ice-e8280759d4aa94225d4d934fe710c17aa1f15464.tar.bz2 ice-e8280759d4aa94225d4d934fe710c17aa1f15464.tar.xz ice-e8280759d4aa94225d4d934fe710c17aa1f15464.zip |
datagram fixes
Diffstat (limited to 'cpp/src')
-rw-r--r-- | cpp/src/IceStorm/SubscriberFactory.cpp | 18 |
1 files changed, 16 insertions, 2 deletions
diff --git a/cpp/src/IceStorm/SubscriberFactory.cpp b/cpp/src/IceStorm/SubscriberFactory.cpp index 1fef6f95b24..97966b6a9de 100644 --- a/cpp/src/IceStorm/SubscriberFactory.cpp +++ b/cpp/src/IceStorm/SubscriberFactory.cpp @@ -50,7 +50,14 @@ SubscriberFactory::createSubscriber(const QoS& qos, const Ice::ObjectPrx& obj) if(reliability == "batch") { - return new OnewayBatchSubscriber(_traceLevels, _flusher, obj->ice_batchOneway()); + if(obj->ice_isDatagram()) + { + return new OnewayBatchSubscriber(_traceLevels, _flusher, obj->ice_batchDatagram()); + } + else + { + return new OnewayBatchSubscriber(_traceLevels, _flusher, obj->ice_batchOneway()); + } } else // reliability == "oneway" { @@ -62,7 +69,14 @@ SubscriberFactory::createSubscriber(const QoS& qos, const Ice::ObjectPrx& obj) out << reliability <<" mode not understood."; } } - return new OnewaySubscriber(_traceLevels, obj->ice_oneway()); + if(obj->ice_isDatagram()) + { + return new OnewaySubscriber(_traceLevels, obj->ice_datagram()); + } + else + { + return new OnewaySubscriber(_traceLevels, obj->ice_oneway()); + } } assert(false); |