summaryrefslogtreecommitdiff
path: root/java/src
diff options
context:
space:
mode:
authorMatthew Newhook <matthew@zeroc.com>2014-10-01 16:37:43 -0230
committerMatthew Newhook <matthew@zeroc.com>2014-10-01 16:37:43 -0230
commit88708c20d3e152dcc35d8937567db730bf6461c8 (patch)
treed51dc018a29e25a2b1cb0e3a87bfaeaecf01655c /java/src
parentICE-5697 (diff)
downloadice-88708c20d3e152dcc35d8937567db730bf6461c8.tar.bz2
ice-88708c20d3e152dcc35d8937567db730bf6461c8.tar.xz
ice-88708c20d3e152dcc35d8937567db730bf6461c8.zip
cacheMessageBuffers for oneway messages in the sent callback.
Diffstat (limited to 'java/src')
-rw-r--r--java/src/IceInternal/OutgoingAsync.java7
1 files changed, 7 insertions, 0 deletions
diff --git a/java/src/IceInternal/OutgoingAsync.java b/java/src/IceInternal/OutgoingAsync.java
index 596f0749e2e..ef4d3d7c959 100644
--- a/java/src/IceInternal/OutgoingAsync.java
+++ b/java/src/IceInternal/OutgoingAsync.java
@@ -194,6 +194,13 @@ public class OutgoingAsync extends OutgoingAsyncBase implements OutgoingAsyncMes
_state |= StateDone | StateOK;
// _os.resize(0, false); // Don't clear the buffer now, it's
// needed for the collocation optimization
+
+ // For oneway requests after the data has been sent the buffers
+ // can be reused unless this is a collocated invocation. For
+ // collocated invocations the buffer won't be reused as the
+ // because it has already been marked as cached in
+ // invokeCollocated.
+ cacheMessageBuffers();
}
_monitor.notifyAll();