TcpDnsQueryDecoder Class — netty Architecture
Architecture documentation for the TcpDnsQueryDecoder class in TcpDnsQueryDecoder.java from the netty codebase.
Entity Profile
Dependency Diagram
graph TD b04c2b5f_8144_341a_5d57_ead1956f0a98["TcpDnsQueryDecoder"] 119eb3cc_e895_7a4e_4b92_20ef3f320a2d["TcpDnsQueryDecoder.java"] b04c2b5f_8144_341a_5d57_ead1956f0a98 -->|defined in| 119eb3cc_e895_7a4e_4b92_20ef3f320a2d 4d2d261c_b5ad_ec63_2342_9488b2fb9a53["TcpDnsQueryDecoder()"] b04c2b5f_8144_341a_5d57_ead1956f0a98 -->|method| 4d2d261c_b5ad_ec63_2342_9488b2fb9a53 f11b9f31_fb5d_49a6_d4cd_aa9393f3fa39["Object()"] b04c2b5f_8144_341a_5d57_ead1956f0a98 -->|method| f11b9f31_fb5d_49a6_d4cd_aa9393f3fa39
Relationship Graph
Source Code
codec-dns/src/main/java/io/netty/handler/codec/dns/TcpDnsQueryDecoder.java lines 23–59
public final class TcpDnsQueryDecoder extends LengthFieldBasedFrameDecoder {
private final DnsRecordDecoder decoder;
/**
* Creates a new decoder with {@linkplain DnsRecordDecoder#DEFAULT the default record decoder}.
*/
public TcpDnsQueryDecoder() {
this(DnsRecordDecoder.DEFAULT, 65535);
}
/**
* Creates a new decoder with the specified {@code decoder}.
*/
public TcpDnsQueryDecoder(DnsRecordDecoder decoder, int maxFrameLength) {
super(maxFrameLength, 0, 2, 0, 2);
this.decoder = ObjectUtil.checkNotNull(decoder, "decoder");
}
@Override
protected Object decode(ChannelHandlerContext ctx, ByteBuf in) throws Exception {
ByteBuf frame = (ByteBuf) super.decode(ctx, in);
if (frame == null) {
return null;
}
try {
return DnsMessageUtil.decodeDnsQuery(decoder, frame.slice(), new DnsMessageUtil.DnsQueryFactory() {
@Override
public DnsQuery newQuery(int id, DnsOpCode dnsOpCode) {
return new DefaultDnsQuery(id, dnsOpCode);
}
});
} finally {
frame.release();
}
}
}
Source
Frequently Asked Questions
What is the TcpDnsQueryDecoder class?
TcpDnsQueryDecoder is a class in the netty codebase, defined in codec-dns/src/main/java/io/netty/handler/codec/dns/TcpDnsQueryDecoder.java.
Where is TcpDnsQueryDecoder defined?
TcpDnsQueryDecoder is defined in codec-dns/src/main/java/io/netty/handler/codec/dns/TcpDnsQueryDecoder.java at line 23.
Analyze Your Own Codebase
Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.
Try Supermodel Free