diff --git a/transport/src/main/java/io/netty/channel/ChannelLocal.java b/transport/src/main/java/io/netty/channel/ChannelLocal.java index 02f0bef3bc..91c5747d1e 100644 --- a/transport/src/main/java/io/netty/channel/ChannelLocal.java +++ b/transport/src/main/java/io/netty/channel/ChannelLocal.java @@ -15,6 +15,9 @@ */ package io.netty.channel; +import java.util.Collections; +import java.util.Iterator; +import java.util.Map.Entry; import java.util.concurrent.ConcurrentMap; import io.netty.util.internal.ConcurrentIdentityWeakKeyHashMap; @@ -33,7 +36,7 @@ import io.netty.util.internal.ConcurrentIdentityWeakKeyHashMap; * @apiviz.stereotype utility */ @Deprecated -public class ChannelLocal { +public class ChannelLocal implements Iterable> { private final ConcurrentMap map = new ConcurrentIdentityWeakKeyHashMap(); @@ -159,4 +162,11 @@ public class ChannelLocal { return removed; } } + + /** + * Returns a read-only {@link Iterator} that holds all {@link Entry}'s of this ChannelLocal + */ + public Iterator> iterator() { + return Collections.unmodifiableSet(map.entrySet()).iterator(); + } }