DatagramDnsResponseDecoder Class — netty Architecture
Architecture documentation for the DatagramDnsResponseDecoder class in DatagramDnsResponseDecoder.java from the netty codebase.
Entity Profile
Dependency Diagram
graph TD d7361acd_3b79_3a41_527e_c649ad7f6190["DatagramDnsResponseDecoder"] fad1dfa7_dcbb_8912_7f15_cd0c246c776a["DatagramDnsResponseDecoder.java"] d7361acd_3b79_3a41_527e_c649ad7f6190 -->|defined in| fad1dfa7_dcbb_8912_7f15_cd0c246c776a 752a9881_54dd_2c12_a279_995b70b704b6["DatagramDnsResponseDecoder()"] d7361acd_3b79_3a41_527e_c649ad7f6190 -->|method| 752a9881_54dd_2c12_a279_995b70b704b6 ad9716e3_171f_aff5_cbe1_d4d8d19dcdfa["decode()"] d7361acd_3b79_3a41_527e_c649ad7f6190 -->|method| ad9716e3_171f_aff5_cbe1_d4d8d19dcdfa 578562bb_5af0_f511_2338_611ca9ca9cd1["DnsResponse()"] d7361acd_3b79_3a41_527e_c649ad7f6190 -->|method| 578562bb_5af0_f511_2338_611ca9ca9cd1
Relationship Graph
Source Code
codec-dns/src/main/java/io/netty/handler/codec/dns/DatagramDnsResponseDecoder.java lines 30–68
@ChannelHandler.Sharable
public class DatagramDnsResponseDecoder extends MessageToMessageDecoder<DatagramPacket> {
private final DnsResponseDecoder<InetSocketAddress> responseDecoder;
/**
* Creates a new decoder with {@linkplain DnsRecordDecoder#DEFAULT the default record decoder}.
*/
public DatagramDnsResponseDecoder() {
this(DnsRecordDecoder.DEFAULT);
}
/**
* Creates a new decoder with the specified {@code recordDecoder}.
*/
public DatagramDnsResponseDecoder(DnsRecordDecoder recordDecoder) {
super(DatagramPacket.class);
this.responseDecoder = new DnsResponseDecoder<InetSocketAddress>(recordDecoder) {
@Override
protected DnsResponse newResponse(InetSocketAddress sender, InetSocketAddress recipient,
int id, DnsOpCode opCode, DnsResponseCode responseCode) {
return new DatagramDnsResponse(sender, recipient, id, opCode, responseCode);
}
};
}
@Override
protected void decode(ChannelHandlerContext ctx, DatagramPacket packet, List<Object> out) throws Exception {
try {
out.add(decodeResponse(ctx, packet));
} catch (IndexOutOfBoundsException e) {
throw new CorruptedFrameException("Unable to decode response", e);
}
}
protected DnsResponse decodeResponse(ChannelHandlerContext ctx, DatagramPacket packet) throws Exception {
return responseDecoder.decode(packet.sender(), packet.recipient(), packet.content());
}
}
Source
Frequently Asked Questions
What is the DatagramDnsResponseDecoder class?
DatagramDnsResponseDecoder is a class in the netty codebase, defined in codec-dns/src/main/java/io/netty/handler/codec/dns/DatagramDnsResponseDecoder.java.
Where is DatagramDnsResponseDecoder defined?
DatagramDnsResponseDecoder is defined in codec-dns/src/main/java/io/netty/handler/codec/dns/DatagramDnsResponseDecoder.java at line 30.
Analyze Your Own Codebase
Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.
Try Supermodel Free