DnsServerAddresses Class — netty Architecture
Architecture documentation for the DnsServerAddresses class in DnsServerAddresses.java from the netty codebase.
Entity Profile
Dependency Diagram
graph TD 9adc85d7_da1e_9f4c_7dad_2e7905c0a61e["DnsServerAddresses"] 4612adf1_3c5b_0f1b_7c20_34e61ae171b3["DnsServerAddresses.java"] 9adc85d7_da1e_9f4c_7dad_2e7905c0a61e -->|defined in| 4612adf1_3c5b_0f1b_7c20_34e61ae171b3 c4cff171_f3c6_4139_087a_071264f7a4bc["defaultAddressList()"] 9adc85d7_da1e_9f4c_7dad_2e7905c0a61e -->|method| c4cff171_f3c6_4139_087a_071264f7a4bc 2dfc2618_8266_b04a_5478_c1240eaef69a["DnsServerAddresses()"] 9adc85d7_da1e_9f4c_7dad_2e7905c0a61e -->|method| 2dfc2618_8266_b04a_5478_c1240eaef69a fb9a7724_bcbd_a481_cd0c_1b0bcb111560["sanitize()"] 9adc85d7_da1e_9f4c_7dad_2e7905c0a61e -->|method| fb9a7724_bcbd_a481_cd0c_1b0bcb111560 45038eef_7cfe_79ee_7801_a887252502ed["DnsServerAddressStream()"] 9adc85d7_da1e_9f4c_7dad_2e7905c0a61e -->|method| 45038eef_7cfe_79ee_7801_a887252502ed
Relationship Graph
Source Code
resolver-dns/src/main/java/io/netty/resolver/dns/DnsServerAddresses.java lines 30–209
@SuppressWarnings("IteratorNextCanNotThrowNoSuchElementException")
public abstract class DnsServerAddresses {
/**
* @deprecated Use {@link DefaultDnsServerAddressStreamProvider#defaultAddressList()}.
* <p>
* Returns the list of the system DNS server addresses. If it failed to retrieve the list of the system DNS server
* addresses from the environment, it will return {@code "8.8.8.8"} and {@code "8.8.4.4"}, the addresses of the
* Google public DNS servers.
*/
@Deprecated
public static List<InetSocketAddress> defaultAddressList() {
return DefaultDnsServerAddressStreamProvider.defaultAddressList();
}
/**
* @deprecated Use {@link DefaultDnsServerAddressStreamProvider#defaultAddresses()}.
* <p>
* Returns the {@link DnsServerAddresses} that yields the system DNS server addresses sequentially. If it failed to
* retrieve the list of the system DNS server addresses from the environment, it will use {@code "8.8.8.8"} and
* {@code "8.8.4.4"}, the addresses of the Google public DNS servers.
* <p>
* This method has the same effect with the following code:
* <pre>
* DnsServerAddresses.sequential(DnsServerAddresses.defaultAddressList());
* </pre>
* </p>
*/
@Deprecated
public static DnsServerAddresses defaultAddresses() {
return DefaultDnsServerAddressStreamProvider.defaultAddresses();
}
/**
* Returns the {@link DnsServerAddresses} that yields the specified {@code addresses} sequentially. Once the
* last address is yielded, it will start again from the first address.
*/
public static DnsServerAddresses sequential(Iterable<? extends InetSocketAddress> addresses) {
return sequential0(sanitize(addresses));
}
/**
* Returns the {@link DnsServerAddresses} that yields the specified {@code addresses} sequentially. Once the
* last address is yielded, it will start again from the first address.
*/
public static DnsServerAddresses sequential(InetSocketAddress... addresses) {
return sequential0(sanitize(addresses));
}
private static DnsServerAddresses sequential0(final List<InetSocketAddress> addresses) {
if (addresses.size() == 1) {
return singleton(addresses.get(0));
}
return new DefaultDnsServerAddresses("sequential", addresses) {
@Override
public DnsServerAddressStream stream() {
return new SequentialDnsServerAddressStream(addresses, 0);
}
};
}
/**
* Returns the {@link DnsServerAddresses} that yields the specified {@code address} in a shuffled order. Once all
* addresses are yielded, the addresses are shuffled again.
*/
public static DnsServerAddresses shuffled(Iterable<? extends InetSocketAddress> addresses) {
return shuffled0(sanitize(addresses));
}
/**
* Returns the {@link DnsServerAddresses} that yields the specified {@code addresses} in a shuffled order. Once all
* addresses are yielded, the addresses are shuffled again.
*/
public static DnsServerAddresses shuffled(InetSocketAddress... addresses) {
return shuffled0(sanitize(addresses));
}
private static DnsServerAddresses shuffled0(List<InetSocketAddress> addresses) {
if (addresses.size() == 1) {
return singleton(addresses.get(0));
}
Source
Frequently Asked Questions
What is the DnsServerAddresses class?
DnsServerAddresses is a class in the netty codebase, defined in resolver-dns/src/main/java/io/netty/resolver/dns/DnsServerAddresses.java.
Where is DnsServerAddresses defined?
DnsServerAddresses is defined in resolver-dns/src/main/java/io/netty/resolver/dns/DnsServerAddresses.java at line 30.
Analyze Your Own Codebase
Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.
Try Supermodel Free