DnsRecordResolveContext Class — netty Architecture
Architecture documentation for the DnsRecordResolveContext class in DnsRecordResolveContext.java from the netty codebase.
Entity Profile
Dependency Diagram
graph TD a4892046_baaa_c9e4_eaa7_283ab070ef5b["DnsRecordResolveContext"] 0a07aa75_3ffc_ba9b_aa6e_e9e49b9b98ac["DnsRecordResolveContext.java"] a4892046_baaa_c9e4_eaa7_283ab070ef5b -->|defined in| 0a07aa75_3ffc_ba9b_aa6e_e9e49b9b98ac b0d94478_36d1_a3b7_e8df_aa30fd68ebf5["DnsRecordResolveContext()"] a4892046_baaa_c9e4_eaa7_283ab070ef5b -->|method| b0d94478_36d1_a3b7_e8df_aa30fd68ebf5 8d65bf69_90b3_83e6_f0cb_45c21ccb6890["newResolverContext()"] a4892046_baaa_c9e4_eaa7_283ab070ef5b -->|method| 8d65bf69_90b3_83e6_f0cb_45c21ccb6890 6a91be4c_195a_d6bc_86c5_2b6c9463ed13["DnsRecord()"] a4892046_baaa_c9e4_eaa7_283ab070ef5b -->|method| 6a91be4c_195a_d6bc_86c5_2b6c9463ed13 e6793ccb_a859_869f_1445_49d73956318d["filterResults()"] a4892046_baaa_c9e4_eaa7_283ab070ef5b -->|method| e6793ccb_a859_869f_1445_49d73956318d d31a5c4d_7234_21dc_bce3_0e52c2509948["isCompleteEarly()"] a4892046_baaa_c9e4_eaa7_283ab070ef5b -->|method| d31a5c4d_7234_21dc_bce3_0e52c2509948 2cf44077_a40e_9484_4010_48a9459d3ab3["isDuplicateAllowed()"] a4892046_baaa_c9e4_eaa7_283ab070ef5b -->|method| 2cf44077_a40e_9484_4010_48a9459d3ab3 45e2f8cb_9b8f_b77a_0d49_0a9ced430fb5["cache()"] a4892046_baaa_c9e4_eaa7_283ab070ef5b -->|method| 45e2f8cb_9b8f_b77a_0d49_0a9ced430fb5 a869fc8a_9946_db70_5037_1fbc0cdb0f22["DnsCnameCache()"] a4892046_baaa_c9e4_eaa7_283ab070ef5b -->|method| a869fc8a_9946_db70_5037_1fbc0cdb0f22
Relationship Graph
Source Code
resolver-dns/src/main/java/io/netty/resolver/dns/DnsRecordResolveContext.java lines 29–98
final class DnsRecordResolveContext extends DnsResolveContext<DnsRecord> {
DnsRecordResolveContext(DnsNameResolver parent, Channel channel,
Promise<?> originalPromise, DnsQuestion question, DnsRecord[] additionals,
DnsServerAddressStream nameServerAddrs, int allowedQueries) {
this(parent, channel, originalPromise, question.name(), question.dnsClass(),
new DnsRecordType[] { question.type() },
additionals, nameServerAddrs, allowedQueries);
}
private DnsRecordResolveContext(DnsNameResolver parent, Channel channel,
Promise<?> originalPromise,
String hostname, int dnsClass, DnsRecordType[] expectedTypes,
DnsRecord[] additionals,
DnsServerAddressStream nameServerAddrs,
int allowedQueries) {
super(parent, channel, originalPromise, hostname, dnsClass, expectedTypes,
additionals, nameServerAddrs, allowedQueries);
}
@Override
DnsResolveContext<DnsRecord> newResolverContext(DnsNameResolver parent, Channel channel,
Promise<?> originalPromise,
String hostname,
int dnsClass, DnsRecordType[] expectedTypes,
DnsRecord[] additionals,
DnsServerAddressStream nameServerAddrs,
int allowedQueries) {
return new DnsRecordResolveContext(parent, channel, originalPromise, hostname, dnsClass,
expectedTypes, additionals, nameServerAddrs, allowedQueries);
}
@Override
DnsRecord convertRecord(DnsRecord record, String hostname, DnsRecord[] additionals, EventLoop eventLoop) {
return ReferenceCountUtil.retain(record);
}
@Override
List<DnsRecord> filterResults(List<DnsRecord> unfiltered) {
return unfiltered;
}
@Override
boolean isCompleteEarly(DnsRecord resolved) {
return false;
}
@Override
boolean isDuplicateAllowed() {
return true;
}
@Override
void cache(String hostname, DnsRecord[] additionals, DnsRecord result, DnsRecord convertedResult) {
// Do not cache.
// XXX: When we implement cache, we would need to retain the reference count of the result record.
}
@Override
void cache(String hostname, DnsRecord[] additionals, UnknownHostException cause) {
// Do not cache.
// XXX: When we implement cache, we would need to retain the reference count of the result record.
}
@Override
DnsCnameCache cnameCache() {
// We don't use a cache here at all as we also don't cache if we end up using the DnsRecordResolverContext.
return NoopDnsCnameCache.INSTANCE;
}
}
Source
Frequently Asked Questions
What is the DnsRecordResolveContext class?
DnsRecordResolveContext is a class in the netty codebase, defined in resolver-dns/src/main/java/io/netty/resolver/dns/DnsRecordResolveContext.java.
Where is DnsRecordResolveContext defined?
DnsRecordResolveContext is defined in resolver-dns/src/main/java/io/netty/resolver/dns/DnsRecordResolveContext.java at line 29.
Analyze Your Own Codebase
Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.
Try Supermodel Free