summaryrefslogtreecommitdiff
path: root/cpp/src/Ice/ConnectionFactory.cpp
diff options
context:
space:
mode:
authorMark Spruiell <mes@zeroc.com>2009-12-08 14:10:38 -0800
committerMark Spruiell <mes@zeroc.com>2009-12-08 14:10:38 -0800
commit55527152af356fda6037f836c978c2b3a2e2f045 (patch)
treed1872fe6e2d01fa15455a462df090ef94799cb5b /cpp/src/Ice/ConnectionFactory.cpp
parentvsplugin fxcop issues (diff)
downloadice-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.cpp13
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&)
{