summaryrefslogtreecommitdiff
path: root/java/src/IceInternal/ProxyBatchOutgoingAsync.java
diff options
context:
space:
mode:
authorBenoit Foucher <benoit@zeroc.com>2009-11-25 15:05:41 +0100
committerBenoit Foucher <benoit@zeroc.com>2009-11-25 15:05:41 +0100
commit2fca2c1309c4991b21ff956709068122f19eef4a (patch)
treeb90e6fe1450508f5ce2962e21627a4535414e1a6 /java/src/IceInternal/ProxyBatchOutgoingAsync.java
parentUpdate depends for SQL directories (diff)
downloadice-2fca2c1309c4991b21ff956709068122f19eef4a.tar.bz2
ice-2fca2c1309c4991b21ff956709068122f19eef4a.tar.xz
ice-2fca2c1309c4991b21ff956709068122f19eef4a.zip
- Cleaned up test/Ice/operations test
- Added test/Ice/ami test - sent callback is now always called
Diffstat (limited to 'java/src/IceInternal/ProxyBatchOutgoingAsync.java')
-rw-r--r--java/src/IceInternal/ProxyBatchOutgoingAsync.java28
1 files changed, 28 insertions, 0 deletions
diff --git a/java/src/IceInternal/ProxyBatchOutgoingAsync.java b/java/src/IceInternal/ProxyBatchOutgoingAsync.java
index c6f7efdbe5b..aa8d9133430 100644
--- a/java/src/IceInternal/ProxyBatchOutgoingAsync.java
+++ b/java/src/IceInternal/ProxyBatchOutgoingAsync.java
@@ -17,6 +17,34 @@ public class ProxyBatchOutgoingAsync extends BatchOutgoingAsync
_proxy = prx;
}
+ public void
+ __send()
+ {
+ //
+ // We don't automatically retry if ice_flushBatchRequests fails. Otherwise, if some batch
+ // requests were queued with the connection, they would be lost without being noticed.
+ //
+ Ice._ObjectDel delegate = null;
+ int cnt = -1; // Don't retry.
+ try
+ {
+ delegate = ((Ice.ObjectPrxHelperBase)_proxy).__getDelegate(false);
+ int status = delegate.__getRequestHandler().flushAsyncBatchRequests(this);
+ if((status & AsyncStatus.Sent) > 0)
+ {
+ _sentSynchronously = true;
+ if((status & AsyncStatus.InvokeSentCallback) > 0)
+ {
+ __sent();
+ }
+ }
+ }
+ catch(Ice.LocalException __ex)
+ {
+ cnt = ((Ice.ObjectPrxHelperBase)_proxy).__handleException(delegate, __ex, null, cnt);
+ }
+ }
+
public Ice.ObjectPrx getProxy()
{
return _proxy;