summaryrefslogtreecommitdiff
path: root/java/src
diff options
context:
space:
mode:
authorBenoit Foucher <benoit@zeroc.com>2015-01-29 13:39:40 +0100
committerBenoit Foucher <benoit@zeroc.com>2015-01-29 13:39:40 +0100
commitfe097c92577b278acfd5855c690579622ff85e4c (patch)
tree12bc10680a6c0883018a64e8029380d42ada9e04 /java/src
parentSSLv3 is disabled by default in latest JDK updates (diff)
downloadice-fe097c92577b278acfd5855c690579622ff85e4c.tar.bz2
ice-fe097c92577b278acfd5855c690579622ff85e4c.tar.xz
ice-fe097c92577b278acfd5855c690579622ff85e4c.zip
Fixed ICE-6158: WS write buffer too big, other minor fixes for Ice Touch
Diffstat (limited to 'java/src')
-rw-r--r--java/src/Ice/src/main/java/IceInternal/WSTransceiver.java13
1 files changed, 7 insertions, 6 deletions
diff --git a/java/src/Ice/src/main/java/IceInternal/WSTransceiver.java b/java/src/Ice/src/main/java/IceInternal/WSTransceiver.java
index af164119733..719d78d2300 100644
--- a/java/src/Ice/src/main/java/IceInternal/WSTransceiver.java
+++ b/java/src/Ice/src/main/java/IceInternal/WSTransceiver.java
@@ -501,13 +501,14 @@ final class WSTransceiver implements Transceiver
_resource = resource;
_incoming = false;
+ //
+ // Use a 16KB write buffer size. We use 16KB for the write
+ // buffer size because all the data needs to be copied to the
+ // write buffer for the purpose of masking. A 16KB buffer
+ // appears to be a good compromise to reduce the number of
+ // socket write calls and not consume too much memory.
//
- // For client connections, the sent frame payload must be
- // masked. So we copy and send the message buffer data in chuncks
- // of data whose size is up to the write buffer size.
- //
- java.nio.channels.SocketChannel channel = (java.nio.channels.SocketChannel)del.fd();
- _writeBufferSize = Math.max(Network.getSendBufferSize(channel), 1024);
+ _writeBufferSize = 16 * 1024;
//
// Write and read buffer size must be large enough to hold the frame header!