public class DnsMessageDecoder
extends java.lang.Object
decode(ByteBuffer) method which will read the
message from the incoming ByteBuffer and build a DnsMessage
from it according to the DnsMessage encoding in RFC-1035.| Modifier and Type | Field and Description |
|---|---|
private static java.util.Map<RecordType,RecordDecoder> |
DEFAULT_DECODERS
A Hashed Adapter mapping record types to their encoders.
|
private org.slf4j.Logger |
logger |
| Constructor and Description |
|---|
DnsMessageDecoder() |
| Modifier and Type | Method and Description |
|---|---|
DnsMessage |
decode(org.apache.mina.core.buffer.IoBuffer in)
Decode the
IoBuffer into a DnsMessage. |
private java.util.Map<java.lang.String,java.lang.Object> |
decode(org.apache.mina.core.buffer.IoBuffer byteBuffer,
RecordType type,
short length) |
private boolean |
decodeAuthoritativeAnswer(byte header) |
private MessageType |
decodeMessageType(byte header) |
private OpCode |
decodeOpCode(byte header) |
private boolean |
decodeRecursionAvailable(byte header) |
private boolean |
decodeRecursionDesired(byte header) |
private ResponseCode |
decodeResponseCode(byte header) |
private boolean |
decodeTruncated(byte header) |
(package private) static java.lang.String |
getDomainName(org.apache.mina.core.buffer.IoBuffer byteBuffer) |
(package private) static void |
getLabel(org.apache.mina.core.buffer.IoBuffer byteBuffer,
java.lang.StringBuffer domainName,
int labelLength) |
private java.util.List<QuestionRecord> |
getQuestions(org.apache.mina.core.buffer.IoBuffer byteBuffer,
short questionCount) |
private java.util.List<ResourceRecord> |
getRecords(org.apache.mina.core.buffer.IoBuffer byteBuffer,
short recordCount) |
(package private) static boolean |
isLabel(int length) |
(package private) static boolean |
isOffset(int length) |
(package private) static void |
recurseDomainName(org.apache.mina.core.buffer.IoBuffer byteBuffer,
java.lang.StringBuffer domainName) |
private final org.slf4j.Logger logger
private static final java.util.Map<RecordType,RecordDecoder> DEFAULT_DECODERS
public DnsMessage decode(org.apache.mina.core.buffer.IoBuffer in) throws java.io.IOException
IoBuffer into a DnsMessage.in - DnsMessage.java.io.IOExceptionprivate java.util.List<ResourceRecord> getRecords(org.apache.mina.core.buffer.IoBuffer byteBuffer, short recordCount) throws java.io.IOException
java.io.IOExceptionprivate java.util.Map<java.lang.String,java.lang.Object> decode(org.apache.mina.core.buffer.IoBuffer byteBuffer,
RecordType type,
short length)
throws java.io.IOException
java.io.IOExceptionprivate java.util.List<QuestionRecord> getQuestions(org.apache.mina.core.buffer.IoBuffer byteBuffer, short questionCount)
static java.lang.String getDomainName(org.apache.mina.core.buffer.IoBuffer byteBuffer)
static void recurseDomainName(org.apache.mina.core.buffer.IoBuffer byteBuffer,
java.lang.StringBuffer domainName)
static boolean isOffset(int length)
static boolean isLabel(int length)
static void getLabel(org.apache.mina.core.buffer.IoBuffer byteBuffer,
java.lang.StringBuffer domainName,
int labelLength)
private MessageType decodeMessageType(byte header)
private OpCode decodeOpCode(byte header)
private boolean decodeAuthoritativeAnswer(byte header)
private boolean decodeTruncated(byte header)
private boolean decodeRecursionDesired(byte header)
private boolean decodeRecursionAvailable(byte header)
private ResponseCode decodeResponseCode(byte header)