secondDnsServerShouldBeUsedBeforeCNAME() — netty Function Reference
Architecture documentation for the secondDnsServerShouldBeUsedBeforeCNAME() function in DnsNameResolverTest.java from the netty codebase.
Entity Profile
Dependency Diagram
graph TD 186250a6_f53b_f0ce_285e_6f39948fa9f4["secondDnsServerShouldBeUsedBeforeCNAME()"] b6215f36_0afe_a284_a3fd_3999e90a8e97["DnsNameResolverTest"] 186250a6_f53b_f0ce_285e_6f39948fa9f4 -->|defined in| b6215f36_0afe_a284_a3fd_3999e90a8e97 448d31bb_3210_e247_a2ee_339c44ef69a4["secondDnsServerShouldBeUsedBeforeCNAMEFirstServerNotStarted()"] 448d31bb_3210_e247_a2ee_339c44ef69a4 -->|calls| 186250a6_f53b_f0ce_285e_6f39948fa9f4 fbb23f94_d075_89f5_0b9c_da85be5e6d1b["secondDnsServerShouldBeUsedBeforeCNAMEFirstServerFailResolve()"] fbb23f94_d075_89f5_0b9c_da85be5e6d1b -->|calls| 186250a6_f53b_f0ce_285e_6f39948fa9f4 6379f5e9_9105_8ed2_288e_b124a4c8863f["InetSocketAddress()"] 186250a6_f53b_f0ce_285e_6f39948fa9f4 -->|calls| 6379f5e9_9105_8ed2_288e_b124a4c8863f 7a611112_a604_0b21_1e10_2062ec771951["DnsNameResolverBuilder()"] 186250a6_f53b_f0ce_285e_6f39948fa9f4 -->|calls| 7a611112_a604_0b21_1e10_2062ec771951 df4510f5_88a8_20fd_2366_a4c543cdf3b8["resolve()"] 186250a6_f53b_f0ce_285e_6f39948fa9f4 -->|calls| df4510f5_88a8_20fd_2366_a4c543cdf3b8 style 186250a6_f53b_f0ce_285e_6f39948fa9f4 fill:#6366f1,stroke:#818cf8,color:#fff
Relationship Graph
Source Code
resolver-dns/src/test/java/io/netty/resolver/dns/DnsNameResolverTest.java lines 1281–1335
private static void secondDnsServerShouldBeUsedBeforeCNAME(
DnsNameResolverChannelStrategy strategy, boolean startDnsServer1) throws IOException {
final String knownHostName = "netty.io";
final TestDnsServer dnsServer1 = new TestDnsServer(Collections.singleton("notnetty.com"));
final TestDnsServer dnsServer2 = new TestDnsServer(Collections.singleton(knownHostName));
DnsNameResolver resolver = null;
try {
final InetSocketAddress dnsServer1Address;
if (startDnsServer1) {
dnsServer1.start();
dnsServer1Address = dnsServer1.localAddress();
} else {
// Some address where a DNS server will not be running.
dnsServer1Address = new InetSocketAddress("127.0.0.1", 22);
}
dnsServer2.start();
TestRecursiveCacheDnsQueryLifecycleObserverFactory lifecycleObserverFactory =
new TestRecursiveCacheDnsQueryLifecycleObserverFactory();
DnsNameResolverBuilder builder = new DnsNameResolverBuilder(group.next())
.dnsQueryLifecycleObserverFactory(lifecycleObserverFactory)
.resolvedAddressTypes(ResolvedAddressTypes.IPV4_ONLY)
.datagramChannelType(NioDatagramChannel.class)
.queryTimeoutMillis(1000) // We expect timeouts if startDnsServer1 is false
.optResourceEnabled(false)
.ndots(1)
.datagramChannelStrategy(strategy);
builder.nameServerProvider(new SequentialDnsServerAddressStreamProvider(dnsServer1Address,
dnsServer2.localAddress()));
resolver = builder.build();
assertNotNull(resolver.resolve(knownHostName).syncUninterruptibly().getNow());
TestDnsQueryLifecycleObserver observer = lifecycleObserverFactory.observers.poll();
assertNotNull(observer);
assertEquals(1, lifecycleObserverFactory.observers.size());
assertEquals(2, observer.events.size());
QueryWrittenEvent writtenEvent = (QueryWrittenEvent) observer.events.poll();
assertEquals(dnsServer1Address, writtenEvent.dnsServerAddress);
QueryFailedEvent failedEvent = (QueryFailedEvent) observer.events.poll();
observer = lifecycleObserverFactory.observers.poll();
assertEquals(2, observer.events.size());
writtenEvent = (QueryWrittenEvent) observer.events.poll();
assertEquals(dnsServer2.localAddress(), writtenEvent.dnsServerAddress);
QuerySucceededEvent succeededEvent = (QuerySucceededEvent) observer.events.poll();
} finally {
if (resolver != null) {
resolver.close();
}
dnsServer1.stop();
dnsServer2.stop();
}
}
Domain
Subdomains
Called By
Source
Frequently Asked Questions
What does secondDnsServerShouldBeUsedBeforeCNAME() do?
secondDnsServerShouldBeUsedBeforeCNAME() is a function in the netty codebase, defined in resolver-dns/src/test/java/io/netty/resolver/dns/DnsNameResolverTest.java.
Where is secondDnsServerShouldBeUsedBeforeCNAME() defined?
secondDnsServerShouldBeUsedBeforeCNAME() is defined in resolver-dns/src/test/java/io/netty/resolver/dns/DnsNameResolverTest.java at line 1281.
What does secondDnsServerShouldBeUsedBeforeCNAME() call?
secondDnsServerShouldBeUsedBeforeCNAME() calls 3 function(s): DnsNameResolverBuilder, InetSocketAddress, resolve.
What calls secondDnsServerShouldBeUsedBeforeCNAME()?
secondDnsServerShouldBeUsedBeforeCNAME() is called by 2 function(s): secondDnsServerShouldBeUsedBeforeCNAMEFirstServerFailResolve, secondDnsServerShouldBeUsedBeforeCNAMEFirstServerNotStarted.
Analyze Your Own Codebase
Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.
Try Supermodel Free