From 2903b91e66c6e6615b7ba67c8c6ff286e392ad95 Mon Sep 17 00:00:00 2001 From: Norman Maurer Date: Mon, 10 Dec 2012 17:20:04 +0100 Subject: [PATCH] [#798] Not call fireExceptionCaught(..) for outbound operations as the future will get notified anyway and so it is redundant. Outbound operations are those which are part of the ChannelOutboundInvoker interface. --- .../src/main/java/io/netty/channel/AbstractChannel.java | 5 ----- .../java/io/netty/channel/socket/aio/AbstractAioChannel.java | 2 -- .../java/io/netty/channel/socket/aio/AioSocketChannel.java | 1 - .../io/netty/channel/socket/nio/AbstractNioByteChannel.java | 1 - .../java/io/netty/channel/socket/nio/AbstractNioChannel.java | 3 --- .../java/io/netty/channel/socket/nio/NioSctpChannel.java | 2 -- .../java/io/netty/channel/socket/oio/AbstractOioChannel.java | 1 - .../java/io/netty/channel/socket/oio/OioSctpChannel.java | 2 -- 8 files changed, 17 deletions(-) diff --git a/transport/src/main/java/io/netty/channel/AbstractChannel.java b/transport/src/main/java/io/netty/channel/AbstractChannel.java index 58104fefd0..f4f2838791 100644 --- a/transport/src/main/java/io/netty/channel/AbstractChannel.java +++ b/transport/src/main/java/io/netty/channel/AbstractChannel.java @@ -560,7 +560,6 @@ public abstract class AbstractChannel extends DefaultAttributeMap implements Cha } future.setFailure(t); - pipeline.fireExceptionCaught(t); closeFuture.setClosed(); } } @@ -595,7 +594,6 @@ public abstract class AbstractChannel extends DefaultAttributeMap implements Cha } } catch (Throwable t) { future.setFailure(t); - pipeline.fireExceptionCaught(t); closeIfClosed(); } } else { @@ -776,7 +774,6 @@ public abstract class AbstractChannel extends DefaultAttributeMap implements Cha } } catch (Throwable t) { flushFutureNotifier.notifyFlushFutures(t); - pipeline.fireExceptionCaught(t); if (t instanceof IOException) { close(voidFuture()); } @@ -835,7 +832,6 @@ public abstract class AbstractChannel extends DefaultAttributeMap implements Cha flushFutureNotifier.notifyFlushFutures(); } else { flushFutureNotifier.notifyFlushFutures(cause); - pipeline.fireExceptionCaught(cause); if (cause instanceof IOException) { close(voidFuture()); } @@ -852,7 +848,6 @@ public abstract class AbstractChannel extends DefaultAttributeMap implements Cha Exception e = new ClosedChannelException(); future.setFailure(e); - pipeline.fireExceptionCaught(e); return false; } diff --git a/transport/src/main/java/io/netty/channel/socket/aio/AbstractAioChannel.java b/transport/src/main/java/io/netty/channel/socket/aio/AbstractAioChannel.java index 48a4e6a3dc..c7655019d5 100755 --- a/transport/src/main/java/io/netty/channel/socket/aio/AbstractAioChannel.java +++ b/transport/src/main/java/io/netty/channel/socket/aio/AbstractAioChannel.java @@ -124,7 +124,6 @@ abstract class AbstractAioChannel extends AbstractChannel { } } catch (Throwable t) { future.setFailure(t); - pipeline().fireExceptionCaught(t); closeIfClosed(); } } else { @@ -154,7 +153,6 @@ abstract class AbstractAioChannel extends AbstractChannel { } } catch (Throwable t) { connectFuture.setFailure(t); - pipeline().fireExceptionCaught(t); closeIfClosed(); } finally { connectTimeoutFuture.cancel(false); diff --git a/transport/src/main/java/io/netty/channel/socket/aio/AioSocketChannel.java b/transport/src/main/java/io/netty/channel/socket/aio/AioSocketChannel.java index 5f9223ccf2..cd68cef3fa 100755 --- a/transport/src/main/java/io/netty/channel/socket/aio/AioSocketChannel.java +++ b/transport/src/main/java/io/netty/channel/socket/aio/AioSocketChannel.java @@ -391,7 +391,6 @@ public class AioSocketChannel extends AbstractAioChannel implements SocketChanne protected void failed0(Throwable cause, AioSocketChannel channel) { channel.asyncWriteInProgress = false; channel.flushFutureNotifier.notifyFlushFutures(cause); - channel.pipeline().fireExceptionCaught(cause); // Check if the exception was raised because of an InterruptedByTimeoutException which means that the // write timeout was hit. In that case we should close the channel as it may be unusable anyway. diff --git a/transport/src/main/java/io/netty/channel/socket/nio/AbstractNioByteChannel.java b/transport/src/main/java/io/netty/channel/socket/nio/AbstractNioByteChannel.java index 52a263aba6..09af899f30 100755 --- a/transport/src/main/java/io/netty/channel/socket/nio/AbstractNioByteChannel.java +++ b/transport/src/main/java/io/netty/channel/socket/nio/AbstractNioByteChannel.java @@ -178,7 +178,6 @@ abstract class AbstractNioByteChannel extends AbstractNioChannel { } catch (Throwable cause) { region.close(); future.setFailure(cause); - pipeline().fireExceptionCaught(cause); } } diff --git a/transport/src/main/java/io/netty/channel/socket/nio/AbstractNioChannel.java b/transport/src/main/java/io/netty/channel/socket/nio/AbstractNioChannel.java index d86dad7fca..464f9cfd5f 100755 --- a/transport/src/main/java/io/netty/channel/socket/nio/AbstractNioChannel.java +++ b/transport/src/main/java/io/netty/channel/socket/nio/AbstractNioChannel.java @@ -176,7 +176,6 @@ public abstract class AbstractNioChannel extends AbstractChannel { } ChannelFuture connectFuture = AbstractNioChannel.this.connectFuture; if (connectFuture != null && connectFuture.setFailure(connectTimeoutException)) { - pipeline().fireExceptionCaught(connectTimeoutException); close(voidFuture()); } } @@ -185,7 +184,6 @@ public abstract class AbstractNioChannel extends AbstractChannel { } } catch (Throwable t) { future.setFailure(t); - pipeline().fireExceptionCaught(t); closeIfClosed(); } } else { @@ -211,7 +209,6 @@ public abstract class AbstractNioChannel extends AbstractChannel { } } catch (Throwable t) { connectFuture.setFailure(t); - pipeline().fireExceptionCaught(t); closeIfClosed(); } finally { connectTimeoutFuture.cancel(false); diff --git a/transport/src/main/java/io/netty/channel/socket/nio/NioSctpChannel.java b/transport/src/main/java/io/netty/channel/socket/nio/NioSctpChannel.java index c741ce9372..d5fde2cd04 100644 --- a/transport/src/main/java/io/netty/channel/socket/nio/NioSctpChannel.java +++ b/transport/src/main/java/io/netty/channel/socket/nio/NioSctpChannel.java @@ -296,7 +296,6 @@ public class NioSctpChannel extends AbstractNioMessageChannel implements io.nett future.setSuccess(); } catch (Throwable t) { future.setFailure(t); - pipeline().fireExceptionCaught(t); } } else { eventLoop().execute(new Runnable() { @@ -322,7 +321,6 @@ public class NioSctpChannel extends AbstractNioMessageChannel implements io.nett future.setSuccess(); } catch (Throwable t) { future.setFailure(t); - pipeline().fireExceptionCaught(t); } } else { eventLoop().execute(new Runnable() { diff --git a/transport/src/main/java/io/netty/channel/socket/oio/AbstractOioChannel.java b/transport/src/main/java/io/netty/channel/socket/oio/AbstractOioChannel.java index 9bf58d8f1c..fb8d184f1d 100644 --- a/transport/src/main/java/io/netty/channel/socket/oio/AbstractOioChannel.java +++ b/transport/src/main/java/io/netty/channel/socket/oio/AbstractOioChannel.java @@ -71,7 +71,6 @@ abstract class AbstractOioChannel extends AbstractChannel { } } catch (Throwable t) { future.setFailure(t); - pipeline().fireExceptionCaught(t); closeIfClosed(); } } else { diff --git a/transport/src/main/java/io/netty/channel/socket/oio/OioSctpChannel.java b/transport/src/main/java/io/netty/channel/socket/oio/OioSctpChannel.java index 20379fe2e1..525a5f3260 100755 --- a/transport/src/main/java/io/netty/channel/socket/oio/OioSctpChannel.java +++ b/transport/src/main/java/io/netty/channel/socket/oio/OioSctpChannel.java @@ -266,7 +266,6 @@ public class OioSctpChannel extends AbstractOioMessageChannel future.setSuccess(); } catch (Throwable t) { future.setFailure(t); - pipeline().fireExceptionCaught(t); } } else { eventLoop().execute(new Runnable() { @@ -292,7 +291,6 @@ public class OioSctpChannel extends AbstractOioMessageChannel future.setSuccess(); } catch (Throwable t) { future.setFailure(t); - pipeline().fireExceptionCaught(t); } } else { eventLoop().execute(new Runnable() {