- java.lang.Object
-
- io.netty5.util.AbstractReferenceCounted
-
- io.netty5.handler.codec.dns.AbstractDnsMessage
-
- io.netty5.handler.codec.dns.DefaultDnsResponse
-
- All Implemented Interfaces:
DnsMessage
,DnsResponse
,ReferenceCounted
- Direct Known Subclasses:
DatagramDnsResponse
@UnstableApi public class DefaultDnsResponse extends AbstractDnsMessage implements DnsResponse
The defaultDnsResponse
implementation.
-
-
Constructor Summary
Constructors Constructor Description DefaultDnsResponse(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
All Methods Instance Methods Concrete Methods Modifier and Type Method Description DnsResponse
addRecord(DnsSection section, int index, DnsRecord record)
Adds the specifiedrecord
at the specifiedindex
of the specifiedsection
of this DNS message.DnsResponse
addRecord(DnsSection section, DnsRecord record)
Adds the specifiedrecord
at the end of the specifiedsection
of this DNS message.DnsResponse
clear()
Removes all the records in this DNS message.DnsResponse
clear(DnsSection section)
Removes all the records in the specifiedsection
of this DNS message.DnsResponseCode
code()
Returns the 4 bit return code.boolean
isAuthoritativeAnswer()
Returnstrue
if responding server is authoritative for the domain name in the query message.boolean
isRecursionAvailable()
Returnstrue
if DNS server can handle recursive queries.boolean
isTruncated()
Returnstrue
if response has been truncated, usually if it is over 512 bytes.DnsResponse
retain()
Increases the reference count by1
.DnsResponse
retain(int increment)
Increases the reference count by the specifiedincrement
.DnsResponse
setAuthoritativeAnswer(boolean authoritativeAnswer)
Set totrue
if responding server is authoritative for the domain name in the query message.DnsResponse
setCode(DnsResponseCode code)
Sets the response code for this message.DnsResponse
setId(int id)
Sets theID
of this DNS message.DnsResponse
setOpCode(DnsOpCode opCode)
Sets theopCode
of this DNS message.DnsResponse
setRecord(DnsSection section, DnsRecord record)
Sets the specifiedsection
of this DNS message to the specifiedrecord
, making it a single-record section.DnsResponse
setRecursionAvailable(boolean recursionAvailable)
Set totrue
if DNS server can handle recursive queries.DnsResponse
setRecursionDesired(boolean recursionDesired)
Sets theRD
(recursion desired} field of this DNS message.DnsResponse
setTruncated(boolean truncated)
Set totrue
if response has been truncated (usually happens for responses over 512 bytes).DnsResponse
setZ(int z)
Sets theZ
(reserved for future use) field of this DNS message.String
toString()
DnsResponse
touch()
Records the current access location of this object for debugging purposes.DnsResponse
touch(Object hint)
Records the current access location of this object with an additional arbitrary information for debugging purposes.-
Methods inherited from class io.netty5.handler.codec.dns.AbstractDnsMessage
count, count, deallocate, equals, hashCode, id, isRecursionDesired, opCode, recordAt, recordAt, removeRecord, setRecord, z
-
Methods inherited from class io.netty5.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.netty5.handler.codec.dns.DnsMessage
count, count, id, isRecursionDesired, opCode, recordAt, recordAt, removeRecord, setRecord, z
-
Methods inherited from interface io.netty5.util.ReferenceCounted
refCnt, release, release
-
-
-
-
Constructor Detail
-
DefaultDnsResponse
public DefaultDnsResponse(int id)
- Parameters:
id
- theID
of the DNS response
-
DefaultDnsResponse
public DefaultDnsResponse(int id, DnsOpCode opCode)
Creates a new instance with theDnsResponseCode.NOERROR
RCODE
.- Parameters:
id
- theID
of the DNS responseopCode
- theopCode
of the DNS response
-
DefaultDnsResponse
public DefaultDnsResponse(int id, DnsOpCode opCode, DnsResponseCode code)
Creates a new instance.- Parameters:
id
- theID
of the DNS responseopCode
- theopCode
of the DNS responsecode
- theRCODE
of the DNS response
-
-
Method Detail
-
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
public DnsResponse setAuthoritativeAnswer(boolean authoritativeAnswer)
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
public DnsResponse setTruncated(boolean truncated)
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
public DnsResponse setRecursionAvailable(boolean recursionAvailable)
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
public DnsResponseCode code()
Description copied from interface:DnsResponse
Returns the 4 bit return code.- Specified by:
code
in interfaceDnsResponse
-
setCode
public DnsResponse setCode(DnsResponseCode code)
Description copied from interface:DnsResponse
Sets the response code for this message.- Specified by:
setCode
in interfaceDnsResponse
- Parameters:
code
- the response code
-
setId
public DnsResponse setId(int id)
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
public DnsResponse setOpCode(DnsOpCode opCode)
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
public DnsResponse setRecursionDesired(boolean recursionDesired)
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
public DnsResponse setZ(int z)
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
public DnsResponse setRecord(DnsSection section, DnsRecord record)
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
public DnsResponse addRecord(DnsSection section, DnsRecord record)
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
public DnsResponse addRecord(DnsSection section, int index, DnsRecord record)
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
public DnsResponse clear(DnsSection section)
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
public DnsResponse 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
public DnsResponse 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
public DnsResponse touch(Object hint)
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
public DnsResponse 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
public DnsResponse retain(int increment)
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
-
-