Home / Function/ testCNAMELoopInCache() — netty Function Reference

testCNAMELoopInCache() — netty Function Reference

Architecture documentation for the testCNAMELoopInCache() function in DnsNameResolverTest.java from the netty codebase.

Entity Profile

Dependency Diagram

graph TD
  0a1a9396_f995_d07b_f55f_459c69d9ee10["testCNAMELoopInCache()"]
  b6215f36_0afe_a284_a3fd_3999e90a8e97["DnsNameResolverTest"]
  0a1a9396_f995_d07b_f55f_459c69d9ee10 -->|defined in| b6215f36_0afe_a284_a3fd_3999e90a8e97
  320a7bb7_1770_5812_3b9d_752bd44edf24["cache()"]
  0a1a9396_f995_d07b_f55f_459c69d9ee10 -->|calls| 320a7bb7_1770_5812_3b9d_752bd44edf24
  df4510f5_88a8_20fd_2366_a4c543cdf3b8["resolve()"]
  0a1a9396_f995_d07b_f55f_459c69d9ee10 -->|calls| df4510f5_88a8_20fd_2366_a4c543cdf3b8
  style 0a1a9396_f995_d07b_f55f_459c69d9ee10 fill:#6366f1,stroke:#818cf8,color:#fff

Relationship Graph

Source Code

resolver-dns/src/test/java/io/netty/resolver/dns/DnsNameResolverTest.java lines 2693–2723

    @ParameterizedTest
    @EnumSource(DnsNameResolverChannelStrategy.class)
    public void testCNAMELoopInCache(DnsNameResolverChannelStrategy strategy) throws Throwable {
        DnsNameResolver resolver = null;
        try {
            DnsNameResolverBuilder builder = newResolver(strategy)
                    .recursionDesired(false)
                    .resolvedAddressTypes(ResolvedAddressTypes.IPV4_ONLY)
                    .maxQueriesPerResolve(16)
                    .nameServerProvider(new SingletonDnsServerAddressStreamProvider(dnsServer.localAddress()));

            resolver = builder.build();
            // Add a CNAME loop into the cache
            final String name = "somehost.netty.io.";
            String name2 = "cname.netty.io.";

            resolver.cnameCache().cache(name, name2, Long.MAX_VALUE, resolver.executor());
            resolver.cnameCache().cache(name2, name, Long.MAX_VALUE, resolver.executor());
            final DnsNameResolver finalResolver = resolver;
            assertThrows(UnknownHostException.class, new Executable() {
                @Override
                public void execute() throws Throwable {
                    finalResolver.resolve(name).syncUninterruptibly().getNow();
                }
            });
        } finally {
            if (resolver != null) {
                resolver.close();
            }
        }
    }

Domain

Subdomains

Frequently Asked Questions

What does testCNAMELoopInCache() do?
testCNAMELoopInCache() is a function in the netty codebase, defined in resolver-dns/src/test/java/io/netty/resolver/dns/DnsNameResolverTest.java.
Where is testCNAMELoopInCache() defined?
testCNAMELoopInCache() is defined in resolver-dns/src/test/java/io/netty/resolver/dns/DnsNameResolverTest.java at line 2693.
What does testCNAMELoopInCache() call?
testCNAMELoopInCache() calls 2 function(s): cache, resolve.

Analyze Your Own Codebase

Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.

Try Supermodel Free