Home / Class/ DnsResolveChannelPerResolutionProvider Class — netty Architecture

DnsResolveChannelPerResolutionProvider Class — netty Architecture

Architecture documentation for the DnsResolveChannelPerResolutionProvider class in DnsNameResolver.java from the netty codebase.

Entity Profile

Dependency Diagram

graph TD
  c0253565_3854_868f_de43_9ded7bdfa0a1["DnsResolveChannelPerResolutionProvider"]
  70b10ccf_a76d_33ba_22ef_90a5a10e8ac3["DnsNameResolver.java"]
  c0253565_3854_868f_de43_9ded7bdfa0a1 -->|defined in| 70b10ccf_a76d_33ba_22ef_90a5a10e8ac3
  0e458175_35e3_133c_c4b5_e82a8377dd29["DnsResolveChannelPerResolutionProvider()"]
  c0253565_3854_868f_de43_9ded7bdfa0a1 -->|method| 0e458175_35e3_133c_c4b5_e82a8377dd29
  f925f161_c0e0_0282_bd3e_71ba96bb5660["ChannelFuture()"]
  c0253565_3854_868f_de43_9ded7bdfa0a1 -->|method| f925f161_c0e0_0282_bd3e_71ba96bb5660
  acc1d056_a9c1_2f05_da11_5b9dab3f3734["close()"]
  c0253565_3854_868f_de43_9ded7bdfa0a1 -->|method| acc1d056_a9c1_2f05_da11_5b9dab3f3734

Relationship Graph

Source Code

resolver-dns/src/main/java/io/netty/resolver/dns/DnsNameResolver.java lines 1583–1607

    private static final class DnsResolveChannelPerResolutionProvider implements DnsResolveChannelProvider {

        private final Bootstrap bootstrap;
        private final SocketAddress localAddress;

        DnsResolveChannelPerResolutionProvider(Bootstrap bootstrap, SocketAddress localAddress) {
            this.bootstrap = bootstrap;
            this.localAddress = localAddress;
        }

        @Override
        public <T> ChannelFuture nextResolveChannel(Future<T> resolutionFuture) {
            final ChannelFuture f = registerOrBind(bootstrap, localAddress);
            resolutionFuture.addListener((FutureListener<T>) future -> {
                // Always just close the Channel once the resolution is considered complete.
                f.channel().close();
            });
            return f;
        }

        @Override
        public void close() {
            // NOOP
        }
    }

Frequently Asked Questions

What is the DnsResolveChannelPerResolutionProvider class?
DnsResolveChannelPerResolutionProvider is a class in the netty codebase, defined in resolver-dns/src/main/java/io/netty/resolver/dns/DnsNameResolver.java.
Where is DnsResolveChannelPerResolutionProvider defined?
DnsResolveChannelPerResolutionProvider is defined in resolver-dns/src/main/java/io/netty/resolver/dns/DnsNameResolver.java at line 1583.

Analyze Your Own Codebase

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

Try Supermodel Free