From 852afeb565e2bf9e4e91962b5a97e795d5391fe0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Endre=20S=C3=A1ndor=20Varga?= Date: Tue, 5 Mar 2013 14:22:21 +0100 Subject: [PATCH] Set TCPNODELAY as default. --- akka-actor/src/main/scala/akka/io/Tcp.scala | 2 ++ akka-actor/src/main/scala/akka/io/TcpConnection.scala | 2 ++ 2 files changed, 4 insertions(+) diff --git a/akka-actor/src/main/scala/akka/io/Tcp.scala b/akka-actor/src/main/scala/akka/io/Tcp.scala index 989c1e05f1..8c5150cc83 100644 --- a/akka-actor/src/main/scala/akka/io/Tcp.scala +++ b/akka-actor/src/main/scala/akka/io/Tcp.scala @@ -50,6 +50,8 @@ object Tcp extends ExtensionKey[TcpExt] { * [[akka.io.Inet.SocketOption]] to enable or disable TCP_NODELAY * (disable or enable Nagle's algorithm) * + * Please note, that TCP_NODELAY is enabled by default. + * * For more information see [[java.net.Socket.setTcpNoDelay]] */ case class TcpNoDelay(on: Boolean) extends SocketOption { diff --git a/akka-actor/src/main/scala/akka/io/TcpConnection.scala b/akka-actor/src/main/scala/akka/io/TcpConnection.scala index 0af6497668..ec866ae75f 100644 --- a/akka-actor/src/main/scala/akka/io/TcpConnection.scala +++ b/akka-actor/src/main/scala/akka/io/TcpConnection.scala @@ -109,6 +109,8 @@ private[io] abstract class TcpConnection(val channel: SocketChannel, /** used in subclasses to start the common machinery above once a channel is connected */ def completeConnect(commander: ActorRef, options: immutable.Traversable[SocketOption]): Unit = { + // Turn off Nagle's algorithm by default + channel.socket.setTcpNoDelay(true) options.foreach(_.afterConnect(channel.socket)) commander ! Connected(