Home / Class/ ChannelsReadOnlyIterator Class — netty Architecture

ChannelsReadOnlyIterator Class — netty Architecture

Architecture documentation for the ChannelsReadOnlyIterator class in SingleThreadEventLoop.java from the netty codebase.

Entity Profile

Dependency Diagram

graph TD
  29cb9825_76c6_defa_86b1_69a03f138c00["ChannelsReadOnlyIterator"]
  13def215_9da0_6bb5_ed12_18382d6541ae["SingleThreadEventLoop.java"]
  29cb9825_76c6_defa_86b1_69a03f138c00 -->|defined in| 13def215_9da0_6bb5_ed12_18382d6541ae
  07dc1e76_3e55_5ddc_e592_81f154f33bc0["ChannelsReadOnlyIterator()"]
  29cb9825_76c6_defa_86b1_69a03f138c00 -->|method| 07dc1e76_3e55_5ddc_e592_81f154f33bc0
  d6e31ea9_4c45_6a88_921d_0fbbf841fc8c["hasNext()"]
  29cb9825_76c6_defa_86b1_69a03f138c00 -->|method| d6e31ea9_4c45_6a88_921d_0fbbf841fc8c
  70b54ca6_a74f_1c23_6afb_3c102997a550["Channel()"]
  29cb9825_76c6_defa_86b1_69a03f138c00 -->|method| 70b54ca6_a74f_1c23_6afb_3c102997a550
  fb2a5163_96c9_a8cc_912c_b4d79811ff10["remove()"]
  29cb9825_76c6_defa_86b1_69a03f138c00 -->|method| fb2a5163_96c9_a8cc_912c_b4d79811ff10
  06c3e9f7_a2df_6808_75a0_7cbd8c6b3d88["empty()"]
  29cb9825_76c6_defa_86b1_69a03f138c00 -->|method| 06c3e9f7_a2df_6808_75a0_7cbd8c6b3d88

Relationship Graph

Source Code

transport/src/main/java/io/netty/channel/SingleThreadEventLoop.java lines 200–244

    protected static final class ChannelsReadOnlyIterator<T extends Channel> implements Iterator<Channel> {
        private final Iterator<T> channelIterator;

        public ChannelsReadOnlyIterator(Iterable<T> channelIterable) {
            this.channelIterator =
                    ObjectUtil.checkNotNull(channelIterable, "channelIterable").iterator();
        }

        @Override
        public boolean hasNext() {
            return channelIterator.hasNext();
        }

        @Override
        public Channel next() {
            return channelIterator.next();
        }

        @Override
        public void remove() {
            throw new UnsupportedOperationException("remove");
        }

        @SuppressWarnings("unchecked")
        public static <T> Iterator<T> empty() {
            return (Iterator<T>) EMPTY;
        }

        private static final Iterator<Object> EMPTY = new Iterator<Object>() {
            @Override
            public boolean hasNext() {
                return false;
            }

            @Override
            public Object next() {
                throw new NoSuchElementException();
            }

            @Override
            public void remove() {
                throw new UnsupportedOperationException("remove");
            }
        };
    }

Frequently Asked Questions

What is the ChannelsReadOnlyIterator class?
ChannelsReadOnlyIterator is a class in the netty codebase, defined in transport/src/main/java/io/netty/channel/SingleThreadEventLoop.java.
Where is ChannelsReadOnlyIterator defined?
ChannelsReadOnlyIterator is defined in transport/src/main/java/io/netty/channel/SingleThreadEventLoop.java at line 200.

Analyze Your Own Codebase

Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.

Try Supermodel Free