From 714ec984ddae53270889029aae9750e9f95013ff Mon Sep 17 00:00:00 2001 From: Trustin Lee Date: Mon, 27 Feb 2012 12:59:00 -0800 Subject: [PATCH] Fix #204 - Increate the granularity of connect timeout in NIO * Changed the Selector timeout from 500 to 10 so that the timeout is * checked every 10 milliseconds --- .../channel/socket/nio/NioClientSocketPipelineSink.java | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/main/java/org/jboss/netty/channel/socket/nio/NioClientSocketPipelineSink.java b/src/main/java/org/jboss/netty/channel/socket/nio/NioClientSocketPipelineSink.java index 62b98f8488..10f94fe389 100644 --- a/src/main/java/org/jboss/netty/channel/socket/nio/NioClientSocketPipelineSink.java +++ b/src/main/java/org/jboss/netty/channel/socket/nio/NioClientSocketPipelineSink.java @@ -246,7 +246,7 @@ class NioClientSocketPipelineSink extends AbstractChannelSink { wakenUp.set(false); try { - int selectedKeyCount = selector.select(500); + int selectedKeyCount = selector.select(10); // 'wakenUp.compareAndSet(false, true)' is always evaluated // before calling 'selector.wakeup()' to reduce the wake-up @@ -286,9 +286,9 @@ class NioClientSocketPipelineSink extends AbstractChannelSink { processSelectedKeys(selector.selectedKeys()); } - // Handle connection timeout every 0.5 seconds approximately. + // Handle connection timeout every 10 milliseconds approximately. long currentTimeNanos = System.nanoTime(); - if (currentTimeNanos - lastConnectTimeoutCheckTimeNanos >= 500 * 1000000L) { + if (currentTimeNanos - lastConnectTimeoutCheckTimeNanos >= 10 * 1000000L) { lastConnectTimeoutCheckTimeNanos = currentTimeNanos; processConnectTimeout(selector.keys(), currentTimeNanos); }