summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNoel Grandin <noel@peralex.com>2015-07-30 15:38:41 +0200
committerNoel Grandin <noelgrandin@gmail.com>2015-07-31 08:17:23 +0000
commit9ffdcc76858bc01150727345de4dfd0ef40ed8c0 (patch)
tree0f20d6d76aeba2ccbc9e193a7ddab9e9258be427
parent2c4e0aaa8d54877c55d3c4e397a7b869d8ff57cc (diff)
fix use of TCP_NODELAY for localhost URP connections
we implemented this logic in the C++ URP code a while back, but the Java code was not correctly updated. Change-Id: I377d7150f1adb69d6f86d9b4f3406163aaf85aea Reviewed-on: https://gerrit.libreoffice.org/17427 Reviewed-by: Noel Grandin <noelgrandin@gmail.com> Tested-by: Noel Grandin <noelgrandin@gmail.com>
-rw-r--r--jurt/com/sun/star/lib/connections/socket/socketAcceptor.java5
-rw-r--r--jurt/com/sun/star/lib/connections/socket/socketConnector.java4
2 files changed, 7 insertions, 2 deletions
diff --git a/jurt/com/sun/star/lib/connections/socket/socketAcceptor.java b/jurt/com/sun/star/lib/connections/socket/socketAcceptor.java
index 022f89142c75..da33625e498d 100644
--- a/jurt/com/sun/star/lib/connections/socket/socketAcceptor.java
+++ b/jurt/com/sun/star/lib/connections/socket/socketAcceptor.java
@@ -152,9 +152,12 @@ public final class socketAcceptor implements XAcceptor {
}
// we enable tcpNoDelay for loopback connections because
// it can make a significant speed difference on linux boxes.
- if (tcpNoDelay != null || ((InetSocketAddress)socket.getRemoteSocketAddress()).getAddress().isLoopbackAddress()) {
+ if (tcpNoDelay != null) {
socket.setTcpNoDelay(tcpNoDelay.booleanValue());
}
+ else if (((InetSocketAddress)socket.getRemoteSocketAddress()).getAddress().isLoopbackAddress()) {
+ socket.setTcpNoDelay(true);
+ }
return new SocketConnection(acceptingDescription, socket);
}
catch(IOException e) {
diff --git a/jurt/com/sun/star/lib/connections/socket/socketConnector.java b/jurt/com/sun/star/lib/connections/socket/socketConnector.java
index fc44639a5feb..c169b59a6aeb 100644
--- a/jurt/com/sun/star/lib/connections/socket/socketConnector.java
+++ b/jurt/com/sun/star/lib/connections/socket/socketConnector.java
@@ -146,8 +146,10 @@ public final class socketConnector implements XConnector {
try {
// we enable tcpNoDelay for loopback connections because
// it can make a significant speed difference on linux boxes.
- if (desc.getTcpNoDelay() != null || isLoopbackAddress)
+ if (desc.getTcpNoDelay() != null)
socket.setTcpNoDelay(desc.getTcpNoDelay().booleanValue());
+ else if (isLoopbackAddress)
+ socket.setTcpNoDelay(true);
con = new SocketConnection(connectionDescription, socket);
} catch (IOException e) {