diff options
author | Mark Spruiell <mes@zeroc.com> | 2009-12-08 14:10:38 -0800 |
---|---|---|
committer | Mark Spruiell <mes@zeroc.com> | 2009-12-08 14:10:38 -0800 |
commit | 55527152af356fda6037f836c978c2b3a2e2f045 (patch) | |
tree | d1872fe6e2d01fa15455a462df090ef94799cb5b /cpp/src/Ice/ConnectionFactory.cpp | |
parent | vsplugin fxcop issues (diff) | |
download | ice-55527152af356fda6037f836c978c2b3a2e2f045.tar.bz2 ice-55527152af356fda6037f836c978c2b3a2e2f045.tar.xz ice-55527152af356fda6037f836c978c2b3a2e2f045.zip |
- bug 3533: add async version of Connection/Communicator
flushBatchRequests operation
- Slice file cleanup in C# tests
- Updating C++ dependencies
Diffstat (limited to 'cpp/src/Ice/ConnectionFactory.cpp')
-rw-r--r-- | cpp/src/Ice/ConnectionFactory.cpp | 13 |
1 files changed, 8 insertions, 5 deletions
diff --git a/cpp/src/Ice/ConnectionFactory.cpp b/cpp/src/Ice/ConnectionFactory.cpp index 25b91c92805..601c0634850 100644 --- a/cpp/src/Ice/ConnectionFactory.cpp +++ b/cpp/src/Ice/ConnectionFactory.cpp @@ -410,7 +410,7 @@ IceInternal::OutgoingConnectionFactory::removeAdapter(const ObjectAdapterPtr& ad } void -IceInternal::OutgoingConnectionFactory::flushBatchRequests() +IceInternal::OutgoingConnectionFactory::flushAsyncBatchRequests(const CommunicatorBatchOutgoingAsyncPtr& outAsync) { list<ConnectionIPtr> c; @@ -419,7 +419,10 @@ IceInternal::OutgoingConnectionFactory::flushBatchRequests() for(multimap<ConnectorPtr, ConnectionIPtr>::const_iterator p = _connections.begin(); p != _connections.end(); ++p) { - c.push_back(p->second); + if(p->second->isActiveOrHolding()) + { + c.push_back(p->second); + } } } @@ -427,7 +430,7 @@ IceInternal::OutgoingConnectionFactory::flushBatchRequests() { try { - (*p)->flushBatchRequests(); + outAsync->flushConnection(*p); } catch(const LocalException&) { @@ -1287,7 +1290,7 @@ IceInternal::IncomingConnectionFactory::connections() const } void -IceInternal::IncomingConnectionFactory::flushBatchRequests() +IceInternal::IncomingConnectionFactory::flushAsyncBatchRequests(const CommunicatorBatchOutgoingAsyncPtr& outAsync) { list<ConnectionIPtr> c = connections(); // connections() is synchronized, so no need to synchronize here. @@ -1295,7 +1298,7 @@ IceInternal::IncomingConnectionFactory::flushBatchRequests() { try { - (*p)->flushBatchRequests(); + outAsync->flushConnection(*p); } catch(const LocalException&) { |