RotationalDnsServerAddresses Class — netty Architecture
Architecture documentation for the RotationalDnsServerAddresses class in RotationalDnsServerAddresses.java from the netty codebase.
Entity Profile
Dependency Diagram
graph TD fb221381_a51d_3f48_f31c_6911411377dc["RotationalDnsServerAddresses"] 0e25346b_48e0_3b71_122c_cb028b07d16c["RotationalDnsServerAddresses.java"] fb221381_a51d_3f48_f31c_6911411377dc -->|defined in| 0e25346b_48e0_3b71_122c_cb028b07d16c 5e49dfc8_b271_93ef_a7e6_068cee00ef71["RotationalDnsServerAddresses()"] fb221381_a51d_3f48_f31c_6911411377dc -->|method| 5e49dfc8_b271_93ef_a7e6_068cee00ef71 93a03596_1f1d_c1d1_ab28_dc42ddf51f68["DnsServerAddressStream()"] fb221381_a51d_3f48_f31c_6911411377dc -->|method| 93a03596_1f1d_c1d1_ab28_dc42ddf51f68
Relationship Graph
Source Code
resolver-dns/src/main/java/io/netty/resolver/dns/RotationalDnsServerAddresses.java lines 23–48
final class RotationalDnsServerAddresses extends DefaultDnsServerAddresses {
private static final AtomicIntegerFieldUpdater<RotationalDnsServerAddresses> startIdxUpdater =
AtomicIntegerFieldUpdater.newUpdater(RotationalDnsServerAddresses.class, "startIdx");
@SuppressWarnings("UnusedDeclaration")
private volatile int startIdx;
RotationalDnsServerAddresses(List<InetSocketAddress> addresses) {
super("rotational", addresses);
}
@Override
public DnsServerAddressStream stream() {
for (;;) {
int curStartIdx = startIdx;
int nextStartIdx = curStartIdx + 1;
if (nextStartIdx >= addresses.size()) {
nextStartIdx = 0;
}
if (startIdxUpdater.compareAndSet(this, curStartIdx, nextStartIdx)) {
return new SequentialDnsServerAddressStream(addresses, curStartIdx);
}
}
}
}
Source
Frequently Asked Questions
What is the RotationalDnsServerAddresses class?
RotationalDnsServerAddresses is a class in the netty codebase, defined in resolver-dns/src/main/java/io/netty/resolver/dns/RotationalDnsServerAddresses.java.
Where is RotationalDnsServerAddresses defined?
RotationalDnsServerAddresses is defined in resolver-dns/src/main/java/io/netty/resolver/dns/RotationalDnsServerAddresses.java at line 23.
Analyze Your Own Codebase
Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.
Try Supermodel Free