From ea38734b133ce9c38c415ced91334d8a3fdb7a75 Mon Sep 17 00:00:00 2001 From: Norman Maurer Date: Sun, 29 Apr 2012 20:10:51 +0200 Subject: [PATCH] Optimize AbstractNioWorker.cleanUpWriteBuffer(..). See #293 --- .../channel/socket/nio/AbstractNioWorker.java | 14 ++++++-------- 1 file changed, 6 insertions(+), 8 deletions(-) diff --git a/src/main/java/org/jboss/netty/channel/socket/nio/AbstractNioWorker.java b/src/main/java/org/jboss/netty/channel/socket/nio/AbstractNioWorker.java index 6f8d91ea6c..3fbfa83ff9 100644 --- a/src/main/java/org/jboss/netty/channel/socket/nio/AbstractNioWorker.java +++ b/src/main/java/org/jboss/netty/channel/socket/nio/AbstractNioWorker.java @@ -671,7 +671,11 @@ abstract class AbstractNioWorker implements Worker { } Queue writeBuffer = channel.writeBufferQueue; - if (!writeBuffer.isEmpty()) { + for (;;) { + evt = writeBuffer.poll(); + if (evt == null) { + break; + } // Create the exception only once to avoid the excessive overhead // caused by fillStackTrace. if (cause == null) { @@ -680,16 +684,10 @@ abstract class AbstractNioWorker implements Worker { } else { cause = new ClosedChannelException(); } - } - - for (;;) { - evt = writeBuffer.poll(); - if (evt == null) { - break; - } evt.getFuture().setFailure(cause); fireExceptionCaught = true; } + } }