Package io.netty.handler.codec.dns
Class DefaultDnsResponse
java.lang.Object
io.netty.util.AbstractReferenceCounted
io.netty.handler.codec.dns.AbstractDnsMessage
io.netty.handler.codec.dns.DefaultDnsResponse
- All Implemented Interfaces:
DnsMessage
,DnsResponse
,ReferenceCounted
- Direct Known Subclasses:
DatagramDnsResponse
The default
DnsResponse
implementation.-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate boolean
private DnsResponseCode
private boolean
private boolean
-
Constructor Summary
ConstructorsConstructorDescriptionDefaultDnsResponse
(int id) DefaultDnsResponse
(int id, DnsOpCode opCode) Creates a new instance with theDnsResponseCode.NOERROR
RCODE
.DefaultDnsResponse
(int id, DnsOpCode opCode, DnsResponseCode code) Creates a new instance. -
Method Summary
Modifier and TypeMethodDescriptionaddRecord
(DnsSection section, int index, DnsRecord record) Adds the specifiedrecord
at the specifiedindex
of the specifiedsection
of this DNS message.addRecord
(DnsSection section, DnsRecord record) Adds the specifiedrecord
at the end of the specifiedsection
of this DNS message.clear()
Removes all the records in this DNS message.clear
(DnsSection section) Removes all the records in the specifiedsection
of this DNS message.code()
Returns the 4 bit return code.boolean
Returnstrue
if responding server is authoritative for the domain name in the query message.boolean
Returnstrue
if DNS server can handle recursive queries.boolean
Returnstrue
if response has been truncated, usually if it is over 512 bytes.retain()
Increases the reference count by1
.retain
(int increment) Increases the reference count by the specifiedincrement
.setAuthoritativeAnswer
(boolean authoritativeAnswer) Set totrue
if responding server is authoritative for the domain name in the query message.setCode
(DnsResponseCode code) Sets the response code for this message.setId
(int id) Sets theID
of this DNS message.Sets theopCode
of this DNS message.setRecord
(DnsSection section, DnsRecord record) Sets the specifiedsection
of this DNS message to the specifiedrecord
, making it a single-record section.setRecursionAvailable
(boolean recursionAvailable) Set totrue
if DNS server can handle recursive queries.setRecursionDesired
(boolean recursionDesired) Sets theRD
(recursion desired} field of this DNS message.setTruncated
(boolean truncated) Set totrue
if response has been truncated (usually happens for responses over 512 bytes).setZ
(int z) Sets theZ
(reserved for future use) field of this DNS message.toString()
touch()
Records the current access location of this object for debugging purposes.Records the current access location of this object with an additional arbitrary information for debugging purposes.Methods inherited from class io.netty.handler.codec.dns.AbstractDnsMessage
count, count, deallocate, equals, hashCode, id, isRecursionDesired, opCode, recordAt, recordAt, removeRecord, setRecord, z
Methods inherited from class io.netty.util.AbstractReferenceCounted
refCnt, release, release, setRefCnt
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
Methods inherited from interface io.netty.handler.codec.dns.DnsMessage
count, count, id, isRecursionDesired, opCode, recordAt, recordAt, removeRecord, setRecord, z
Methods inherited from interface io.netty.util.ReferenceCounted
refCnt, release, release
-
Field Details
-
authoritativeAnswer
private boolean authoritativeAnswer -
truncated
private boolean truncated -
recursionAvailable
private boolean recursionAvailable -
code
-
-
Constructor Details
-
DefaultDnsResponse
public DefaultDnsResponse(int id) - Parameters:
id
- theID
of the DNS response
-
DefaultDnsResponse
Creates a new instance with theDnsResponseCode.NOERROR
RCODE
.- Parameters:
id
- theID
of the DNS responseopCode
- theopCode
of the DNS response
-
DefaultDnsResponse
Creates a new instance.- Parameters:
id
- theID
of the DNS responseopCode
- theopCode
of the DNS responsecode
- theRCODE
of the DNS response
-
-
Method Details
-
isAuthoritativeAnswer
public boolean isAuthoritativeAnswer()Description copied from interface:DnsResponse
Returnstrue
if responding server is authoritative for the domain name in the query message.- Specified by:
isAuthoritativeAnswer
in interfaceDnsResponse
-
setAuthoritativeAnswer
Description copied from interface:DnsResponse
Set totrue
if responding server is authoritative for the domain name in the query message.- Specified by:
setAuthoritativeAnswer
in interfaceDnsResponse
- Parameters:
authoritativeAnswer
- flag for authoritative answer
-
isTruncated
public boolean isTruncated()Description copied from interface:DnsResponse
Returnstrue
if response has been truncated, usually if it is over 512 bytes.- Specified by:
isTruncated
in interfaceDnsResponse
-
setTruncated
Description copied from interface:DnsResponse
Set totrue
if response has been truncated (usually happens for responses over 512 bytes).- Specified by:
setTruncated
in interfaceDnsResponse
- Parameters:
truncated
- flag for truncation
-
isRecursionAvailable
public boolean isRecursionAvailable()Description copied from interface:DnsResponse
Returnstrue
if DNS server can handle recursive queries.- Specified by:
isRecursionAvailable
in interfaceDnsResponse
-
setRecursionAvailable
Description copied from interface:DnsResponse
Set totrue
if DNS server can handle recursive queries.- Specified by:
setRecursionAvailable
in interfaceDnsResponse
- Parameters:
recursionAvailable
- flag for recursion availability
-
code
Description copied from interface:DnsResponse
Returns the 4 bit return code.- Specified by:
code
in interfaceDnsResponse
-
setCode
Description copied from interface:DnsResponse
Sets the response code for this message.- Specified by:
setCode
in interfaceDnsResponse
- Parameters:
code
- the response code
-
setId
Description copied from interface:DnsMessage
Sets theID
of this DNS message.- Specified by:
setId
in interfaceDnsMessage
- Specified by:
setId
in interfaceDnsResponse
- Overrides:
setId
in classAbstractDnsMessage
-
setOpCode
Description copied from interface:DnsMessage
Sets theopCode
of this DNS message.- Specified by:
setOpCode
in interfaceDnsMessage
- Specified by:
setOpCode
in interfaceDnsResponse
- Overrides:
setOpCode
in classAbstractDnsMessage
-
setRecursionDesired
Description copied from interface:DnsMessage
Sets theRD
(recursion desired} field of this DNS message.- Specified by:
setRecursionDesired
in interfaceDnsMessage
- Specified by:
setRecursionDesired
in interfaceDnsResponse
- Overrides:
setRecursionDesired
in classAbstractDnsMessage
-
setZ
Description copied from interface:DnsMessage
Sets theZ
(reserved for future use) field of this DNS message.- Specified by:
setZ
in interfaceDnsMessage
- Specified by:
setZ
in interfaceDnsResponse
- Overrides:
setZ
in classAbstractDnsMessage
-
setRecord
Description copied from interface:DnsMessage
Sets the specifiedsection
of this DNS message to the specifiedrecord
, making it a single-record section. When the specifiedsection
isDnsSection.QUESTION
, the specifiedrecord
must be aDnsQuestion
.- Specified by:
setRecord
in interfaceDnsMessage
- Specified by:
setRecord
in interfaceDnsResponse
- Overrides:
setRecord
in classAbstractDnsMessage
-
addRecord
Description copied from interface:DnsMessage
Adds the specifiedrecord
at the end of the specifiedsection
of this DNS message. When the specifiedsection
isDnsSection.QUESTION
, the specifiedrecord
must be aDnsQuestion
.- Specified by:
addRecord
in interfaceDnsMessage
- Specified by:
addRecord
in interfaceDnsResponse
- Overrides:
addRecord
in classAbstractDnsMessage
-
addRecord
Description copied from interface:DnsMessage
Adds the specifiedrecord
at the specifiedindex
of the specifiedsection
of this DNS message. When the specifiedsection
isDnsSection.QUESTION
, the specifiedrecord
must be aDnsQuestion
.- Specified by:
addRecord
in interfaceDnsMessage
- Specified by:
addRecord
in interfaceDnsResponse
- Overrides:
addRecord
in classAbstractDnsMessage
-
clear
Description copied from interface:DnsMessage
Removes all the records in the specifiedsection
of this DNS message.- Specified by:
clear
in interfaceDnsMessage
- Specified by:
clear
in interfaceDnsResponse
- Overrides:
clear
in classAbstractDnsMessage
-
clear
Description copied from interface:DnsMessage
Removes all the records in this DNS message.- Specified by:
clear
in interfaceDnsMessage
- Specified by:
clear
in interfaceDnsResponse
- Overrides:
clear
in classAbstractDnsMessage
-
touch
Description copied from interface:ReferenceCounted
Records the current access location of this object for debugging purposes. If this object is determined to be leaked, the information recorded by this operation will be provided to you viaResourceLeakDetector
. This method is a shortcut totouch(null)
.- Specified by:
touch
in interfaceDnsMessage
- Specified by:
touch
in interfaceDnsResponse
- Specified by:
touch
in interfaceReferenceCounted
- Overrides:
touch
in classAbstractDnsMessage
-
touch
Description copied from interface:ReferenceCounted
Records the current access location of this object with an additional arbitrary information for debugging purposes. If this object is determined to be leaked, the information recorded by this operation will be provided to you viaResourceLeakDetector
.- Specified by:
touch
in interfaceDnsMessage
- Specified by:
touch
in interfaceDnsResponse
- Specified by:
touch
in interfaceReferenceCounted
- Overrides:
touch
in classAbstractDnsMessage
-
retain
Description copied from interface:ReferenceCounted
Increases the reference count by1
.- Specified by:
retain
in interfaceDnsMessage
- Specified by:
retain
in interfaceDnsResponse
- Specified by:
retain
in interfaceReferenceCounted
- Overrides:
retain
in classAbstractDnsMessage
-
retain
Description copied from interface:ReferenceCounted
Increases the reference count by the specifiedincrement
.- Specified by:
retain
in interfaceDnsMessage
- Specified by:
retain
in interfaceDnsResponse
- Specified by:
retain
in interfaceReferenceCounted
- Overrides:
retain
in classAbstractDnsMessage
-
toString
-