Home / Class/ CombinedDnsServerAddressStream Class — netty Architecture

CombinedDnsServerAddressStream Class — netty Architecture

Architecture documentation for the CombinedDnsServerAddressStream class in DnsResolveContext.java from the netty codebase.

Entity Profile

Dependency Diagram

graph TD
  c3e8c2d4_ea20_6fa6_de70_7b9032da8c80["CombinedDnsServerAddressStream"]
  21f3aef4_24fe_7168_ea1d_94d7a3f45711["DnsResolveContext.java"]
  c3e8c2d4_ea20_6fa6_de70_7b9032da8c80 -->|defined in| 21f3aef4_24fe_7168_ea1d_94d7a3f45711
  a7835729_7cee_bc21_d7bd_f702b4b9c74e["CombinedDnsServerAddressStream()"]
  c3e8c2d4_ea20_6fa6_de70_7b9032da8c80 -->|method| a7835729_7cee_bc21_d7bd_f702b4b9c74e
  80753723_6e0b_8e94_1f5b_41cfea78f0e3["InetSocketAddress()"]
  c3e8c2d4_ea20_6fa6_de70_7b9032da8c80 -->|method| 80753723_6e0b_8e94_1f5b_41cfea78f0e3
  da77f527_215a_7164_ca37_07a76673c344["size()"]
  c3e8c2d4_ea20_6fa6_de70_7b9032da8c80 -->|method| da77f527_215a_7164_ca37_07a76673c344
  bff798a0_1437_5fa0_7fd9_004d1b169dfe["DnsServerAddressStream()"]
  c3e8c2d4_ea20_6fa6_de70_7b9032da8c80 -->|method| bff798a0_1437_5fa0_7fd9_004d1b169dfe

Relationship Graph

Source Code

resolver-dns/src/main/java/io/netty/resolver/dns/DnsResolveContext.java lines 1205–1245

    private final class CombinedDnsServerAddressStream implements DnsServerAddressStream {
        private final InetSocketAddress replaced;
        private final DnsServerAddressStream originalStream;
        private final List<InetAddress> resolvedAddresses;
        private Iterator<InetAddress> resolved;

        CombinedDnsServerAddressStream(InetSocketAddress replaced, List<InetAddress> resolvedAddresses,
                                       DnsServerAddressStream originalStream) {
            this.replaced = replaced;
            this.resolvedAddresses = resolvedAddresses;
            this.originalStream = originalStream;
            resolved = resolvedAddresses.iterator();
        }

        @Override
        public InetSocketAddress next() {
            if (resolved.hasNext()) {
                return nextResolved0();
            }
            InetSocketAddress address = originalStream.next();
            if (address.equals(replaced)) {
                resolved = resolvedAddresses.iterator();
                return nextResolved0();
            }
            return address;
        }

        private InetSocketAddress nextResolved0() {
            return parent.newRedirectServerAddress(resolved.next());
        }

        @Override
        public int size() {
            return originalStream.size() + resolvedAddresses.size() - 1;
        }

        @Override
        public DnsServerAddressStream duplicate() {
            return new CombinedDnsServerAddressStream(replaced, resolvedAddresses, originalStream.duplicate());
        }
    }

Frequently Asked Questions

What is the CombinedDnsServerAddressStream class?
CombinedDnsServerAddressStream is a class in the netty codebase, defined in resolver-dns/src/main/java/io/netty/resolver/dns/DnsResolveContext.java.
Where is CombinedDnsServerAddressStream defined?
CombinedDnsServerAddressStream is defined in resolver-dns/src/main/java/io/netty/resolver/dns/DnsResolveContext.java at line 1205.

Analyze Your Own Codebase

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

Try Supermodel Free