testNSRecordsFromCache() — netty Function Reference
Architecture documentation for the testNSRecordsFromCache() function in DnsNameResolverTest.java from the netty codebase.
Entity Profile
Dependency Diagram
graph TD 05fbb897_f60d_49cb_1677_04923288394c["testNSRecordsFromCache()"] b6215f36_0afe_a284_a3fd_3999e90a8e97["DnsNameResolverTest"] 05fbb897_f60d_49cb_1677_04923288394c -->|defined in| b6215f36_0afe_a284_a3fd_3999e90a8e97 6379f5e9_9105_8ed2_288e_b124a4c8863f["InetSocketAddress()"] 05fbb897_f60d_49cb_1677_04923288394c -->|calls| 6379f5e9_9105_8ed2_288e_b124a4c8863f f68a278a_d1e5_7598_a2d3_c261c81029bc["get()"] 05fbb897_f60d_49cb_1677_04923288394c -->|calls| f68a278a_d1e5_7598_a2d3_c261c81029bc 320a7bb7_1770_5812_3b9d_752bd44edf24["cache()"] 05fbb897_f60d_49cb_1677_04923288394c -->|calls| 320a7bb7_1770_5812_3b9d_752bd44edf24 e0db6033_0923_3a43_22a1_11714277de6c["clear()"] 05fbb897_f60d_49cb_1677_04923288394c -->|calls| e0db6033_0923_3a43_22a1_11714277de6c style 05fbb897_f60d_49cb_1677_04923288394c fill:#6366f1,stroke:#818cf8,color:#fff
Relationship Graph
Source Code
resolver-dns/src/test/java/io/netty/resolver/dns/DnsNameResolverTest.java lines 1874–2007
@ParameterizedTest
@EnumSource(DnsNameResolverChannelStrategy.class)
public void testNSRecordsFromCache(DnsNameResolverChannelStrategy strategy) throws Exception {
final String domain = "netty.io";
final String hostname = "test.netty.io";
final String ns0Name = "ns0." + domain + '.';
final String ns1Name = "ns1." + domain + '.';
final String ns2Name = "ns2." + domain + '.';
final InetSocketAddress ns0Address = new InetSocketAddress(
InetAddress.getByAddress(ns0Name, new byte[] { 10, 1, 0, 1 }),
DefaultDnsServerAddressStreamProvider.DNS_PORT);
final InetSocketAddress ns1Address = new InetSocketAddress(
InetAddress.getByAddress(ns1Name, new byte[] { 10, 0, 0, 1 }),
DefaultDnsServerAddressStreamProvider.DNS_PORT);
final InetSocketAddress ns2Address = new InetSocketAddress(
InetAddress.getByAddress(ns1Name, new byte[] { 10, 0, 0, 2 }),
DefaultDnsServerAddressStreamProvider.DNS_PORT);
final InetSocketAddress ns3Address = new InetSocketAddress(
InetAddress.getByAddress(ns1Name, new byte[] { 10, 0, 0, 3 }),
DefaultDnsServerAddressStreamProvider.DNS_PORT);
final InetSocketAddress ns4Address = new InetSocketAddress(
InetAddress.getByAddress(ns1Name, new byte[] { 10, 0, 0, 4 }),
DefaultDnsServerAddressStreamProvider.DNS_PORT);
final InetSocketAddress ns5Address = new InetSocketAddress(
InetAddress.getByAddress(ns2Name, new byte[] { 10, 0, 0, 5 }),
DefaultDnsServerAddressStreamProvider.DNS_PORT);
TestDnsServer redirectServer = new TestDnsServer(new HashSet<String>(asList(hostname, ns1Name))) {
@Override
protected DnsMessage filterMessage(DnsMessage message) {
for (QuestionRecord record: message.getQuestionRecords()) {
if (record.getDomainName().equals(hostname)) {
message.getAdditionalRecords().clear();
message.getAnswerRecords().clear();
message.getAuthorityRecords().add(TestDnsServer.newNsRecord(domain, ns0Name));
message.getAuthorityRecords().add(TestDnsServer.newNsRecord(domain, ns1Name));
message.getAuthorityRecords().add(TestDnsServer.newNsRecord(domain, ns2Name));
message.getAdditionalRecords().add(newARecord(ns0Address));
message.getAdditionalRecords().add(newARecord(ns5Address));
return message;
}
}
return message;
}
private ResourceRecord newARecord(InetSocketAddress address) {
return newARecord(address.getHostName(), address.getAddress().getHostAddress());
}
};
redirectServer.start();
EventLoopGroup group = new MultiThreadIoEventLoopGroup(1, NioIoHandler.newFactory());
final List<InetSocketAddress> cached = new CopyOnWriteArrayList<InetSocketAddress>();
final AuthoritativeDnsServerCache authoritativeDnsServerCache = new AuthoritativeDnsServerCache() {
@Override
public DnsServerAddressStream get(String hostname) {
return null;
}
@Override
public void cache(String hostname, InetSocketAddress address, long originalTtl, EventLoop loop) {
cached.add(address);
}
@Override
public void clear() {
// NOOP
}
@Override
public boolean clear(String hostname) {
return false;
}
};
EventLoop loop = group.next();
DefaultDnsCache cache = new DefaultDnsCache();
cache.cache(ns1Name, null, ns1Address.getAddress(), 10000, loop);
cache.cache(ns1Name, null, ns2Address.getAddress(), 10000, loop);
Domain
Subdomains
Source
Frequently Asked Questions
What does testNSRecordsFromCache() do?
testNSRecordsFromCache() is a function in the netty codebase, defined in resolver-dns/src/test/java/io/netty/resolver/dns/DnsNameResolverTest.java.
Where is testNSRecordsFromCache() defined?
testNSRecordsFromCache() is defined in resolver-dns/src/test/java/io/netty/resolver/dns/DnsNameResolverTest.java at line 1874.
What does testNSRecordsFromCache() call?
testNSRecordsFromCache() calls 4 function(s): InetSocketAddress, cache, clear, get.
Analyze Your Own Codebase
Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.
Try Supermodel Free