summaryrefslogtreecommitdiff
path: root/cpp/src
diff options
context:
space:
mode:
authorMark Spruiell <mes@zeroc.com>2003-03-27 22:01:35 +0000
committerMark Spruiell <mes@zeroc.com>2003-03-27 22:01:35 +0000
commite8280759d4aa94225d4d934fe710c17aa1f15464 (patch)
treec185ae1ce5abc14838721da108002f8fd311cbe7 /cpp/src
parentadding publish adapter (diff)
downloadice-e8280759d4aa94225d4d934fe710c17aa1f15464.tar.bz2
ice-e8280759d4aa94225d4d934fe710c17aa1f15464.tar.xz
ice-e8280759d4aa94225d4d934fe710c17aa1f15464.zip
datagram fixes
Diffstat (limited to 'cpp/src')
-rw-r--r--cpp/src/IceStorm/SubscriberFactory.cpp18
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);