From 32e0b597612a0c9050ba515de9970b520bae1fac Mon Sep 17 00:00:00 2001 From: Norman Maurer Date: Fri, 8 Feb 2013 07:10:46 +0100 Subject: [PATCH] Let ChannelPipeline implement Iterable --- .../src/main/java/io/netty/channel/ChannelPipeline.java | 4 +++- .../main/java/io/netty/channel/DefaultChannelPipeline.java | 6 ++++++ 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/transport/src/main/java/io/netty/channel/ChannelPipeline.java b/transport/src/main/java/io/netty/channel/ChannelPipeline.java index d3b7293420..759e108531 100644 --- a/transport/src/main/java/io/netty/channel/ChannelPipeline.java +++ b/transport/src/main/java/io/netty/channel/ChannelPipeline.java @@ -23,6 +23,7 @@ import java.io.InputStream; import java.io.OutputStream; import java.util.List; import java.util.Map; +import java.util.Map.Entry; import java.util.NoSuchElementException; @@ -177,7 +178,8 @@ import java.util.NoSuchElementException; * @apiviz.composedOf io.netty.channel.ChannelHandlerContext * @apiviz.owns io.netty.channel.ChannelHandler */ -public interface ChannelPipeline extends ChannelInboundInvoker, ChannelOutboundInvoker { +public interface ChannelPipeline extends ChannelInboundInvoker, ChannelOutboundInvoker, + Iterable> { /** * Return the bound {@link MessageBuf} of the first {@link ChannelInboundMessageHandler} in the diff --git a/transport/src/main/java/io/netty/channel/DefaultChannelPipeline.java b/transport/src/main/java/io/netty/channel/DefaultChannelPipeline.java index 63ee78c64e..63f166a0b0 100755 --- a/transport/src/main/java/io/netty/channel/DefaultChannelPipeline.java +++ b/transport/src/main/java/io/netty/channel/DefaultChannelPipeline.java @@ -28,6 +28,7 @@ import java.net.SocketAddress; import java.util.ArrayList; import java.util.HashMap; import java.util.IdentityHashMap; +import java.util.Iterator; import java.util.LinkedHashMap; import java.util.List; import java.util.Map; @@ -1322,4 +1323,9 @@ final class DefaultChannelPipeline implements ChannelPipeline { unsafe.flush(promise); } } + + @Override + public Iterator> iterator() { + return toMap().entrySet().iterator(); + } }