testResponseFeedbackStream() — netty Function Reference
Architecture documentation for the testResponseFeedbackStream() function in DnsNameResolverTest.java from the netty codebase.
Entity Profile
Dependency Diagram
graph TD 878178a7_6fb3_99bf_1005_0c4068ff6534["testResponseFeedbackStream()"] b6215f36_0afe_a284_a3fd_3999e90a8e97["DnsNameResolverTest"] 878178a7_6fb3_99bf_1005_0c4068ff6534 -->|defined in| b6215f36_0afe_a284_a3fd_3999e90a8e97 f68a278a_d1e5_7598_a2d3_c261c81029bc["get()"] 878178a7_6fb3_99bf_1005_0c4068ff6534 -->|calls| f68a278a_d1e5_7598_a2d3_c261c81029bc 6379f5e9_9105_8ed2_288e_b124a4c8863f["InetSocketAddress()"] 878178a7_6fb3_99bf_1005_0c4068ff6534 -->|calls| 6379f5e9_9105_8ed2_288e_b124a4c8863f df4510f5_88a8_20fd_2366_a4c543cdf3b8["resolve()"] 878178a7_6fb3_99bf_1005_0c4068ff6534 -->|calls| df4510f5_88a8_20fd_2366_a4c543cdf3b8 style 878178a7_6fb3_99bf_1005_0c4068ff6534 fill:#6366f1,stroke:#818cf8,color:#fff
Relationship Graph
Source Code
resolver-dns/src/test/java/io/netty/resolver/dns/DnsNameResolverTest.java lines 4246–4324
@ParameterizedTest
@EnumSource(DnsNameResolverChannelStrategy.class)
public void testResponseFeedbackStream(DnsNameResolverChannelStrategy strategy) {
final AtomicBoolean successCalled = new AtomicBoolean();
final AtomicBoolean failureCalled = new AtomicBoolean();
final AtomicBoolean returnSuccess = new AtomicBoolean(false);
final DnsNameResolver resolver = newResolver(strategy, true, new DnsServerAddressStreamProvider() {
@Override
public DnsServerAddressStream nameServerAddressStream(String hostname) {
return new DnsServerResponseFeedbackAddressStream() {
@Override
public void feedbackSuccess(InetSocketAddress address, long queryResponseTimeNanos) {
assertThat(queryResponseTimeNanos).isGreaterThanOrEqualTo(0L);
successCalled.set(true);
}
@Override
public void feedbackFailure(InetSocketAddress address,
Throwable failureCause,
long queryResponseTimeNanos) {
assertThat(queryResponseTimeNanos).isGreaterThanOrEqualTo(0L);
assertNotNull(failureCause);
failureCalled.set(true);
}
@Override
public InetSocketAddress next() {
if (returnSuccess.get()) {
return dnsServer.localAddress();
}
try {
return new InetSocketAddress(InetAddress.getByAddress("foo.com",
new byte[] {(byte) 169, (byte) 254, 12, 34 }), 53);
} catch (UnknownHostException e) {
throw new Error(e);
}
}
@Override
public int size() {
return 1;
}
@Override
public DnsServerAddressStream duplicate() {
return this;
}
};
}
}).build();
try {
// setup call to be successful and verify
returnSuccess.set(true);
resolver.resolve("google.com").syncUninterruptibly().getNow();
assertTrue(successCalled.get());
assertFalse(failureCalled.get());
// reset state for next query
successCalled.set(false);
failureCalled.set(false);
// setup call to fail and verify
returnSuccess.set(false);
try {
resolver.resolve("yahoo.com").syncUninterruptibly().getNow();
fail();
} catch (Exception e) {
// expected
assertInstanceOf(UnknownHostException.class, e);
} finally {
assertFalse(successCalled.get());
assertTrue(failureCalled.get());
}
} finally {
if (resolver != null) {
resolver.close();
}
}
}
Domain
Subdomains
Source
Frequently Asked Questions
What does testResponseFeedbackStream() do?
testResponseFeedbackStream() is a function in the netty codebase, defined in resolver-dns/src/test/java/io/netty/resolver/dns/DnsNameResolverTest.java.
Where is testResponseFeedbackStream() defined?
testResponseFeedbackStream() is defined in resolver-dns/src/test/java/io/netty/resolver/dns/DnsNameResolverTest.java at line 4246.
What does testResponseFeedbackStream() call?
testResponseFeedbackStream() calls 3 function(s): InetSocketAddress, get, resolve.
Analyze Your Own Codebase
Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.
Try Supermodel Free