prefer TCP_NODELAY -- avoid extra buffering due to Nagle's algorithm;
authorwenzelm
Wed, 16 Oct 2013 11:48:42 +0200
changeset 54340 18c621069bf8
parent 54339 26c790a6ce43
child 54341 e1c275df5522
prefer TCP_NODELAY -- avoid extra buffering due to Nagle's algorithm;
src/Pure/General/socket_io.ML
src/Pure/System/system_channel.scala
--- a/src/Pure/General/socket_io.ML	Wed Oct 16 11:35:04 2013 +0200
+++ b/src/Pure/General/socket_io.ML	Wed Oct 16 11:48:42 2013 +0200
@@ -81,6 +81,7 @@
       | _ => err ());
     val socket: Socket.active INetSock.stream_sock = INetSock.TCP.socket ();
     val _ = Socket.connect (socket, INetSock.toAddr (NetHostDB.addr host, port));
+    val _ = INetSock.TCP.setNODELAY (socket, true);
   in make_streams socket end;
 
 end;
--- a/src/Pure/System/system_channel.scala	Wed Oct 16 11:35:04 2013 +0200
+++ b/src/Pure/System/system_channel.scala	Wed Oct 16 11:48:42 2013 +0200
@@ -86,6 +86,7 @@
   def rendezvous(): (OutputStream, InputStream) =
   {
     val socket = server.accept
+    socket.setTcpNoDelay(true)
     (socket.getOutputStream, socket.getInputStream)
   }