diff options
author | Benoit Foucher <benoit@zeroc.com> | 2009-11-25 15:05:41 +0100 |
---|---|---|
committer | Benoit Foucher <benoit@zeroc.com> | 2009-11-25 15:05:41 +0100 |
commit | 2fca2c1309c4991b21ff956709068122f19eef4a (patch) | |
tree | b90e6fe1450508f5ce2962e21627a4535414e1a6 /java/src/IceInternal/ProxyBatchOutgoingAsync.java | |
parent | Update depends for SQL directories (diff) | |
download | ice-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.java | 28 |
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; |