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}
Source
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