summaryrefslogtreecommitdiff
path: root/cpp/src/IceStorm/LinkSubscriber.cpp
diff options
context:
space:
mode:
authorMichi Henning <michi@zeroc.com>2003-08-29 06:51:58 +0000
committerMichi Henning <michi@zeroc.com>2003-08-29 06:51:58 +0000
commit14e46bc24e79df49bd603c08d293c17245b9ca93 (patch)
treec7fc6f422c2a0706ed5e3926a091aa715ee41021 /cpp/src/IceStorm/LinkSubscriber.cpp
parentconnection closure timeout (diff)
downloadice-14e46bc24e79df49bd603c08d293c17245b9ca93.tar.bz2
ice-14e46bc24e79df49bd603c08d293c17245b9ca93.tar.xz
ice-14e46bc24e79df49bd603c08d293c17245b9ca93.zip
Removed ice_flush() from proxy base class and implemented
Communicator::flushBatchRequests().
Diffstat (limited to 'cpp/src/IceStorm/LinkSubscriber.cpp')
-rw-r--r--cpp/src/IceStorm/LinkSubscriber.cpp33
1 files changed, 4 insertions, 29 deletions
diff --git a/cpp/src/IceStorm/LinkSubscriber.cpp b/cpp/src/IceStorm/LinkSubscriber.cpp
index e753ad38e2b..8eb19e3476f 100644
--- a/cpp/src/IceStorm/LinkSubscriber.cpp
+++ b/cpp/src/IceStorm/LinkSubscriber.cpp
@@ -20,10 +20,10 @@
using namespace IceStorm;
using namespace std;
-LinkSubscriber::LinkSubscriber(const SubscriberFactoryPtr& factory, const TraceLevelsPtr& traceLevels,
- const QueuedProxyPtr& obj, Ice::Int cost) :
+LinkSubscriber::LinkSubscriber(const SubscriberFactoryPtr& factory, const Ice::CommunicatorPtr& communicator,
+ const TraceLevelsPtr& traceLevels, const QueuedProxyPtr& obj, Ice::Int cost) :
Subscriber(traceLevels, obj->proxy()->ice_getIdentity()),
- _factory(factory), _obj(obj), _cost(cost)
+ _factory(factory), _communicator(communicator), _obj(obj), _cost(cost)
{
_factory->incProxyUsageCount(_obj);
}
@@ -115,32 +115,7 @@ LinkSubscriber::publish(const EventPtr& event)
void
LinkSubscriber::flush()
{
- try
- {
- _obj->proxy()->ice_flush();
- }
- catch(const Ice::ObjectNotExistException& e)
- {
- //
- // ObjectNotExist causes the link to be removed.
- //
- IceUtil::Mutex::Lock sync(_stateMutex);
- _state = StateError;
-
- if(_traceLevels->subscriber > 0)
- {
- Ice::Trace out(_traceLevels->logger, _traceLevels->subscriberCat);
- out << id() << ": link topic flush failed: " << e;
- }
- }
- catch(const Ice::LocalException& e)
- {
- if(_traceLevels->subscriber > 0)
- {
- Ice::Trace out(_traceLevels->logger, _traceLevels->subscriberCat);
- out << id() << ": link topic flush failed: " << e;
- }
- }
+ _communicator->flushBatchRequests();
}
bool