TcpDnsResponseEncoder Class — netty Architecture
Architecture documentation for the TcpDnsResponseEncoder class in TcpDnsResponseEncoder.java from the netty codebase.
Entity Profile
Dependency Diagram
graph TD 7c31b60c_82cc_bc4c_42e4_8f2becbe79b9["TcpDnsResponseEncoder"] 3745170f_1fdf_fdbe_0f65_4248d65219b2["TcpDnsResponseEncoder.java"] 7c31b60c_82cc_bc4c_42e4_8f2becbe79b9 -->|defined in| 3745170f_1fdf_fdbe_0f65_4248d65219b2 572f30bb_ba5c_1ddc_6179_eb669613ad34["TcpDnsResponseEncoder()"] 7c31b60c_82cc_bc4c_42e4_8f2becbe79b9 -->|method| 572f30bb_ba5c_1ddc_6179_eb669613ad34 4e233ad9_d394_c983_6c16_fa7188cc42a6["encode()"] 7c31b60c_82cc_bc4c_42e4_8f2becbe79b9 -->|method| 4e233ad9_d394_c983_6c16_fa7188cc42a6
Relationship Graph
Source Code
codec-dns/src/main/java/io/netty/handler/codec/dns/TcpDnsResponseEncoder.java lines 26–55
@ChannelHandler.Sharable
public final class TcpDnsResponseEncoder extends MessageToMessageEncoder<DnsResponse> {
private final DnsRecordEncoder encoder;
/**
* Creates a new encoder with {@linkplain DnsRecordEncoder#DEFAULT the default record encoder}.
*/
public TcpDnsResponseEncoder() {
this(DnsRecordEncoder.DEFAULT);
}
/**
* Creates a new encoder with the specified {@code encoder}.
*/
public TcpDnsResponseEncoder(DnsRecordEncoder encoder) {
super(DnsResponse.class);
this.encoder = ObjectUtil.checkNotNull(encoder, "encoder");
}
@Override
protected void encode(ChannelHandlerContext ctx, DnsResponse response, List<Object> out) throws Exception {
ByteBuf buf = ctx.alloc().ioBuffer(1024);
buf.writerIndex(buf.writerIndex() + 2);
DnsMessageUtil.encodeDnsResponse(encoder, response, buf);
buf.setShort(0, buf.readableBytes() - 2);
out.add(buf);
}
}
Source
Frequently Asked Questions
What is the TcpDnsResponseEncoder class?
TcpDnsResponseEncoder is a class in the netty codebase, defined in codec-dns/src/main/java/io/netty/handler/codec/dns/TcpDnsResponseEncoder.java.
Where is TcpDnsResponseEncoder defined?
TcpDnsResponseEncoder is defined in codec-dns/src/main/java/io/netty/handler/codec/dns/TcpDnsResponseEncoder.java at line 26.
Analyze Your Own Codebase
Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.
Try Supermodel Free