DatagramDnsResponseEncoder Class — netty Architecture
Architecture documentation for the DatagramDnsResponseEncoder class in DatagramDnsResponseEncoder.java from the netty codebase.
Entity Profile
Dependency Diagram
graph TD 7c98a28f_ac3f_99de_3e2e_55f7600e754b["DatagramDnsResponseEncoder"] 0649a7bc_b54b_54b2_ef38_7fc146195d39["DatagramDnsResponseEncoder.java"] 7c98a28f_ac3f_99de_3e2e_55f7600e754b -->|defined in| 0649a7bc_b54b_54b2_ef38_7fc146195d39 9261842c_e73b_32e8_556f_1d22f6a1a309["DatagramDnsResponseEncoder()"] 7c98a28f_ac3f_99de_3e2e_55f7600e754b -->|method| 9261842c_e73b_32e8_556f_1d22f6a1a309 6147b77b_1c61_ab52_0f60_2ba19f964d63["encode()"] 7c98a28f_ac3f_99de_3e2e_55f7600e754b -->|method| 6147b77b_1c61_ab52_0f60_2ba19f964d63 bec9c06c_ca31_ff62_ba25_2f71229998b2["ByteBuf()"] 7c98a28f_ac3f_99de_3e2e_55f7600e754b -->|method| bec9c06c_ca31_ff62_ba25_2f71229998b2
Relationship Graph
Source Code
codec-dns/src/main/java/io/netty/handler/codec/dns/DatagramDnsResponseEncoder.java lines 34–76
@ChannelHandler.Sharable
public class DatagramDnsResponseEncoder
extends MessageToMessageEncoder<AddressedEnvelope<DnsResponse, InetSocketAddress>> {
private final DnsRecordEncoder recordEncoder;
/**
* Creates a new encoder with {@linkplain DnsRecordEncoder#DEFAULT the default record encoder}.
*/
public DatagramDnsResponseEncoder() {
this(DnsRecordEncoder.DEFAULT);
}
/**
* Creates a new encoder with the specified {@code recordEncoder}.
*/
public DatagramDnsResponseEncoder(DnsRecordEncoder recordEncoder) {
this.recordEncoder = checkNotNull(recordEncoder, "recordEncoder");
}
@Override
protected void encode(ChannelHandlerContext ctx,
AddressedEnvelope<DnsResponse, InetSocketAddress> in, List<Object> out) throws Exception {
final InetSocketAddress recipient = in.recipient();
final DnsResponse response = in.content();
final ByteBuf buf = allocateBuffer(ctx, in);
DnsMessageUtil.encodeDnsResponse(recordEncoder, response, buf);
out.add(new DatagramPacket(buf, recipient, null));
}
/**
* Allocate a {@link ByteBuf} which will be used for constructing a datagram packet.
* Sub-classes may override this method to return a {@link ByteBuf} with a perfect matching initial capacity.
*/
protected ByteBuf allocateBuffer(
ChannelHandlerContext ctx,
@SuppressWarnings("unused") AddressedEnvelope<DnsResponse, InetSocketAddress> msg) throws Exception {
return ctx.alloc().ioBuffer(1024);
}
}
Source
Frequently Asked Questions
What is the DatagramDnsResponseEncoder class?
DatagramDnsResponseEncoder is a class in the netty codebase, defined in codec-dns/src/main/java/io/netty/handler/codec/dns/DatagramDnsResponseEncoder.java.
Where is DatagramDnsResponseEncoder defined?
DatagramDnsResponseEncoder is defined in codec-dns/src/main/java/io/netty/handler/codec/dns/DatagramDnsResponseEncoder.java at line 34.
Analyze Your Own Codebase
Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.
Try Supermodel Free