Home / Class/ TcpDnsResponseEncoder Class — netty Architecture

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);
    }
}

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