Home / Class/ DnsNameResolverBuilder Class — netty Architecture

DnsNameResolverBuilder Class — netty Architecture

Architecture documentation for the DnsNameResolverBuilder class in DnsNameResolverBuilder.java from the netty codebase.

Entity Profile

Dependency Diagram

graph TD
  54712eb4_6c7f_7c8f_0a12_a9b74b0beceb["DnsNameResolverBuilder"]
  3027a7bf_cd7e_c292_3e94_9456acf9006a["DnsNameResolverBuilder.java"]
  54712eb4_6c7f_7c8f_0a12_a9b74b0beceb -->|defined in| 3027a7bf_cd7e_c292_3e94_9456acf9006a
  ee442c54_22ee_7987_7d1f_a3220de5b5d7["DnsNameResolverBuilder()"]
  54712eb4_6c7f_7c8f_0a12_a9b74b0beceb -->|method| ee442c54_22ee_7987_7d1f_a3220de5b5d7
  4dc0bbdd_28a0_141e_f65b_0c0b8007f246["channelFactory()"]
  54712eb4_6c7f_7c8f_0a12_a9b74b0beceb -->|method| 4dc0bbdd_28a0_141e_f65b_0c0b8007f246
  dcf29a4e_317d_c8e7_aeeb_71e7491c468e["datagramChannelFactory()"]
  54712eb4_6c7f_7c8f_0a12_a9b74b0beceb -->|method| dcf29a4e_317d_c8e7_aeeb_71e7491c468e
  22f526d7_231e_1dc6_5131_83a9966f9ded["ResolvedAddressTypes()"]
  54712eb4_6c7f_7c8f_0a12_a9b74b0beceb -->|method| 22f526d7_231e_1dc6_5131_83a9966f9ded
  f69a10b8_f0e5_3e38_e0a7_84751bd882d6["toSocketProtocolFamilies()"]
  54712eb4_6c7f_7c8f_0a12_a9b74b0beceb -->|method| f69a10b8_f0e5_3e38_e0a7_84751bd882d6
  8615a816_3f02_ff77_5f59_667898f3ac88["DnsServerAddressStreamProvider()"]
  54712eb4_6c7f_7c8f_0a12_a9b74b0beceb -->|method| 8615a816_3f02_ff77_5f59_667898f3ac88
  297da638_5fb6_ae16_6f76_08886e0b0c0f["DnsServerAddressStream()"]
  54712eb4_6c7f_7c8f_0a12_a9b74b0beceb -->|method| 297da638_5fb6_ae16_6f76_08886e0b0c0f
  d2963cba_cd2b_5717_0028_e5280abe94f8["DnsCache()"]
  54712eb4_6c7f_7c8f_0a12_a9b74b0beceb -->|method| d2963cba_cd2b_5717_0028_e5280abe94f8
  66b26781_ab8d_f197_34af_8a12795a987f["AuthoritativeDnsServerCache()"]
  54712eb4_6c7f_7c8f_0a12_a9b74b0beceb -->|method| 66b26781_ab8d_f197_34af_8a12795a987f
  c8d0065e_0d7b_85f9_3bd4_4e0609345ae2["DnsCnameCache()"]
  54712eb4_6c7f_7c8f_0a12_a9b74b0beceb -->|method| c8d0065e_0d7b_85f9_3bd4_4e0609345ae2
  e138d051_63dd_cd77_a01d_7e87e139a6c0["DnsNameResolver()"]
  54712eb4_6c7f_7c8f_0a12_a9b74b0beceb -->|method| e138d051_63dd_cd77_a01d_7e87e139a6c0

Relationship Graph

Source Code

resolver-dns/src/main/java/io/netty/resolver/dns/DnsNameResolverBuilder.java lines 45–789

public final class DnsNameResolverBuilder {

    private static final InternalLogger logger = InternalLoggerFactory.getInstance(DnsNameResolverBuilder.class);
    static final SocketAddress DEFAULT_LOCAL_ADDRESS = new InetSocketAddress(0);

    volatile EventLoop eventLoop;
    private ChannelFactory<? extends DatagramChannel> datagramChannelFactory;
    private ChannelFactory<? extends SocketChannel> socketChannelFactory;
    private boolean retryOnTimeout;

    private DnsCache resolveCache;
    private DnsCnameCache cnameCache;
    private AuthoritativeDnsServerCache authoritativeDnsServerCache;
    private SocketAddress localAddress = DEFAULT_LOCAL_ADDRESS;
    private Integer minTtl;
    private Integer maxTtl;
    private Integer negativeTtl;
    private long queryTimeoutMillis = -1;
    private ResolvedAddressTypes resolvedAddressTypes = DnsNameResolver.DEFAULT_RESOLVE_ADDRESS_TYPES;
    private boolean completeOncePreferredResolved;
    private boolean recursionDesired = true;
    private int maxQueriesPerResolve = -1;
    private boolean traceEnabled;
    private int maxPayloadSize = 4096;
    private boolean optResourceEnabled = true;
    private HostsFileEntriesResolver hostsFileEntriesResolver = HostsFileEntriesResolver.DEFAULT;
    private DnsServerAddressStreamProvider dnsServerAddressStreamProvider =
            DnsServerAddressStreamProviders.platformDefault();
    private DnsServerAddressStream queryDnsServerAddressStream;
    private DnsQueryLifecycleObserverFactory dnsQueryLifecycleObserverFactory =
            NoopDnsQueryLifecycleObserverFactory.INSTANCE;
    private String[] searchDomains;
    private int ndots = -1;
    private boolean decodeIdn = true;

    private int maxNumConsolidation;
    private DnsNameResolverChannelStrategy datagramChannelStrategy = DnsNameResolverChannelStrategy.ChannelPerResolver;

    /**
     * Creates a new builder.
     */
    public DnsNameResolverBuilder() {
    }

    /**
     * Creates a new builder.
     *
     * @param eventLoop the {@link EventLoop} which will perform the communication with the DNS
     * servers.
     */
    public DnsNameResolverBuilder(EventLoop eventLoop) {
        eventLoop(eventLoop);
    }

    /**
     * Sets the {@link EventLoop} which will perform the communication with the DNS servers.
     *
     * @param eventLoop the {@link EventLoop}
     * @return {@code this}
     */
    public DnsNameResolverBuilder eventLoop(EventLoop eventLoop) {
        this.eventLoop = eventLoop;
        return this;
    }

    @Deprecated
    protected ChannelFactory<? extends DatagramChannel> channelFactory() {
        return this.datagramChannelFactory;
    }

    ChannelFactory<? extends DatagramChannel> datagramChannelFactory() {
        return this.datagramChannelFactory;
    }

    /**
     * Sets the {@link ChannelFactory} that will create a {@link DatagramChannel}.
     * <p>
     * If <a href="https://tools.ietf.org/html/rfc7766">TCP fallback</a> should be supported as well it is required
     * to call the {@link #socketChannelFactory(ChannelFactory)} or {@link #socketChannelType(Class)} method.
     *
     * @param datagramChannelFactory the {@link ChannelFactory}

Frequently Asked Questions

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

Analyze Your Own Codebase

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

Try Supermodel Free