Home / Function/ testCancelPromise() — netty Function Reference

testCancelPromise() — netty Function Reference

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

Entity Profile

Dependency Diagram

graph TD
  6803421a_5aeb_cc8f_3f15_f46c9e3af240["testCancelPromise()"]
  b6215f36_0afe_a284_a3fd_3999e90a8e97["DnsNameResolverTest"]
  6803421a_5aeb_cc8f_3f15_f46c9e3af240 -->|defined in| b6215f36_0afe_a284_a3fd_3999e90a8e97
  7a611112_a604_0b21_1e10_2062ec771951["DnsNameResolverBuilder()"]
  6803421a_5aeb_cc8f_3f15_f46c9e3af240 -->|calls| 7a611112_a604_0b21_1e10_2062ec771951
  df4510f5_88a8_20fd_2366_a4c543cdf3b8["resolve()"]
  6803421a_5aeb_cc8f_3f15_f46c9e3af240 -->|calls| df4510f5_88a8_20fd_2366_a4c543cdf3b8
  f68a278a_d1e5_7598_a2d3_c261c81029bc["get()"]
  6803421a_5aeb_cc8f_3f15_f46c9e3af240 -->|calls| f68a278a_d1e5_7598_a2d3_c261c81029bc
  style 6803421a_5aeb_cc8f_3f15_f46c9e3af240 fill:#6366f1,stroke:#818cf8,color:#fff

Relationship Graph

Source Code

resolver-dns/src/test/java/io/netty/resolver/dns/DnsNameResolverTest.java lines 3598–3638

    @ParameterizedTest
    @EnumSource(DnsNameResolverChannelStrategy.class)
    public void testCancelPromise(DnsNameResolverChannelStrategy strategy) throws Exception {
        final EventLoop eventLoop = group.next();
        final Promise<InetAddress> promise = eventLoop.newPromise();
        final TestDnsServer dnsServer1 = new TestDnsServer(Collections.<String>emptySet()) {
            @Override
            protected DnsMessage filterMessage(DnsMessage message) {
                promise.cancel(true);
                return message;
            }
        };
        dnsServer1.start();
        final AtomicBoolean isQuerySentToSecondServer = new AtomicBoolean();
        final TestDnsServer dnsServer2 = new TestDnsServer(Collections.<String>emptySet()) {
            @Override
            protected DnsMessage filterMessage(DnsMessage message) {
                isQuerySentToSecondServer.set(true);
                return message;
            }
        };
        dnsServer2.start();
        DnsServerAddressStreamProvider nameServerProvider =
                new SequentialDnsServerAddressStreamProvider(dnsServer1.localAddress(),
                                                             dnsServer2.localAddress());
        final DnsNameResolver resolver = new DnsNameResolverBuilder(group.next())
                .dnsQueryLifecycleObserverFactory(new TestRecursiveCacheDnsQueryLifecycleObserverFactory())
                .datagramChannelType(NioDatagramChannel.class)
                .optResourceEnabled(false)
                .nameServerProvider(nameServerProvider)
                .datagramChannelStrategy(strategy)
                .build();

        try {
            resolver.resolve("non-existent.netty.io", promise).sync();
            fail();
        } catch (Exception e) {
            assertInstanceOf(CancellationException.class, e);
        }
        assertFalse(isQuerySentToSecondServer.get());
    }

Domain

Subdomains

Frequently Asked Questions

What does testCancelPromise() do?
testCancelPromise() is a function in the netty codebase, defined in resolver-dns/src/test/java/io/netty/resolver/dns/DnsNameResolverTest.java.
Where is testCancelPromise() defined?
testCancelPromise() is defined in resolver-dns/src/test/java/io/netty/resolver/dns/DnsNameResolverTest.java at line 3598.
What does testCancelPromise() call?
testCancelPromise() calls 3 function(s): DnsNameResolverBuilder, get, resolve.

Analyze Your Own Codebase

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

Try Supermodel Free