summaryrefslogtreecommitdiff
path: root/java/src/IceInternal/OutgoingConnectionFactory.java
diff options
context:
space:
mode:
Diffstat (limited to 'java/src/IceInternal/OutgoingConnectionFactory.java')
-rw-r--r--java/src/IceInternal/OutgoingConnectionFactory.java21
1 files changed, 11 insertions, 10 deletions
diff --git a/java/src/IceInternal/OutgoingConnectionFactory.java b/java/src/IceInternal/OutgoingConnectionFactory.java
index 638f84aab15..a3e5f01694e 100644
--- a/java/src/IceInternal/OutgoingConnectionFactory.java
+++ b/java/src/IceInternal/OutgoingConnectionFactory.java
@@ -378,22 +378,23 @@ public final class OutgoingConnectionFactory
}
public void
- flushBatchRequests()
+ flushAsyncBatchRequests(CommunicatorBatchOutgoingAsync outAsync)
{
java.util.List<Ice.ConnectionI> c = new java.util.LinkedList<Ice.ConnectionI>();
synchronized(this)
{
- if(_destroyed)
- {
- return;
- }
-
- for(java.util.List<Ice.ConnectionI> connectionList : _connections.values())
+ if(!_destroyed)
{
- for(Ice.ConnectionI connection : connectionList)
+ for(java.util.List<Ice.ConnectionI> connectionList : _connections.values())
{
- c.add(connection);
+ for(Ice.ConnectionI connection : connectionList)
+ {
+ if(connection.isActiveOrHolding())
+ {
+ c.add(connection);
+ }
+ }
}
}
}
@@ -402,7 +403,7 @@ public final class OutgoingConnectionFactory
{
try
{
- conn.flushBatchRequests();
+ outAsync.flushConnection(conn);
}
catch(Ice.LocalException ex)
{