From c8f8b55f010d58c9ff80fcb1b818fca295fa808e Mon Sep 17 00:00:00 2001 From: Johannes Rudolph Date: Sat, 26 Jan 2013 10:55:39 +0100 Subject: [PATCH] use config.getBytes where appropriate --- akka-io/src/main/resources/reference.conf | 2 +- akka-io/src/main/scala/akka/io/Tcp.scala | 10 ++++++++-- 2 files changed, 9 insertions(+), 3 deletions(-) diff --git a/akka-io/src/main/resources/reference.conf b/akka-io/src/main/resources/reference.conf index 54df6977f9..1c4e47263d 100644 --- a/akka-io/src/main/resources/reference.conf +++ b/akka-io/src/main/resources/reference.conf @@ -52,7 +52,7 @@ akka { # The number of bytes per direct buffer in the pool used to read or write # network data from the kernel. - direct-buffer-size = 131072 # 128 KiB + direct-buffer-size = 128 KiB # The maximal number of direct buffers kept in the direct buffer pool for # reuse. diff --git a/akka-io/src/main/scala/akka/io/Tcp.scala b/akka-io/src/main/scala/akka/io/Tcp.scala index 0df8e0e0a6..df3e3fe320 100644 --- a/akka-io/src/main/scala/akka/io/Tcp.scala +++ b/akka-io/src/main/scala/akka/io/Tcp.scala @@ -193,7 +193,7 @@ class TcpExt(system: ExtendedActorSystem) extends IO.Extension { } val SelectorAssociationRetries = getInt("selector-association-retries") val BatchAcceptLimit = getInt("batch-accept-limit") - val DirectBufferSize = getInt("direct-buffer-size") + val DirectBufferSize = getIntBytes("direct-buffer-size") val MaxDirectBufferPoolSize = getInt("max-direct-buffer-pool-size") val RegisterTimeout = getString("register-timeout") match { case "infinite" ⇒ Duration.Undefined @@ -201,7 +201,7 @@ class TcpExt(system: ExtendedActorSystem) extends IO.Extension { } val ReceivedMessageSizeLimit = getString("received-message-size-limit") match { case "unlimited" ⇒ Int.MaxValue - case x ⇒ getInt("received-message-size-limit") + case x ⇒ getIntBytes("received-message-size-limit") } val SelectorDispatcher = getString("selector-dispatcher") val WorkerDispatcher = getString("worker-dispatcher") @@ -215,6 +215,12 @@ class TcpExt(system: ExtendedActorSystem) extends IO.Extension { require(BatchAcceptLimit > 0, "batch-accept-limit must be > 0") val MaxChannelsPerSelector = if (MaxChannels == -1) -1 else math.max(MaxChannels / NrOfSelectors, 1) + + private[this] def getIntBytes(path: String): Int = { + val size = getBytes(path) + require(size < Int.MaxValue, s"$path must be < 2 GiB") + size.toInt + } } val manager = {