Package io.netty.handler.codec.dns
Class AbstractDnsMessage
- java.lang.Object
-
- io.netty.util.AbstractReferenceCounted
-
- io.netty.handler.codec.dns.AbstractDnsMessage
-
- All Implemented Interfaces:
DnsMessage,io.netty.util.ReferenceCounted
- Direct Known Subclasses:
DefaultDnsQuery,DefaultDnsResponse
public abstract class AbstractDnsMessage extends io.netty.util.AbstractReferenceCounted implements DnsMessage
A skeletal implementation ofDnsMessage.
-
-
Constructor Summary
Constructors Modifier Constructor Description protectedAbstractDnsMessage(int id)Creates a new instance with the specifiedidandDnsOpCode.QUERYopCode.protectedAbstractDnsMessage(int id, DnsOpCode opCode)Creates a new instance with the specifiedidandopCode.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description DnsMessageaddRecord(DnsSection section, int index, DnsRecord record)Adds the specifiedrecordat the specifiedindexof the specifiedsectionof this DNS message.DnsMessageaddRecord(DnsSection section, DnsRecord record)Adds the specifiedrecordat the end of the specifiedsectionof this DNS message.DnsMessageclear()Removes all the records in this DNS message.DnsMessageclear(DnsSection section)Removes all the records in the specifiedsectionof this DNS message.intcount()Returns the number of records in this DNS message.intcount(DnsSection section)Returns the number of records in the specifiedsectionof this DNS message.protected voiddeallocate()booleanequals(Object obj)inthashCode()intid()Returns theIDof this DNS message.booleanisRecursionDesired()Returns theRD(recursion desired} field of this DNS message.DnsOpCodeopCode()Returns theopCodeof this DNS message.<T extends DnsRecord>
TrecordAt(DnsSection section)Returns the first record in the specifiedsectionof this DNS message.<T extends DnsRecord>
TrecordAt(DnsSection section, int index)Returns the record at the specifiedindexof the specifiedsectionof this DNS message.<T extends DnsRecord>
TremoveRecord(DnsSection section, int index)Removes the record at the specifiedindexof the specifiedsectionfrom this DNS message.DnsMessageretain()DnsMessageretain(int increment)DnsMessagesetId(int id)Sets theIDof this DNS message.DnsMessagesetOpCode(DnsOpCode opCode)Sets theopCodeof this DNS message.<T extends DnsRecord>
TsetRecord(DnsSection section, int index, DnsRecord record)Sets the specifiedrecordat the specifiedindexof the specifiedsectionof this DNS message.DnsMessagesetRecord(DnsSection section, DnsRecord record)Sets the specifiedsectionof this DNS message to the specifiedrecord, making it a single-record section.DnsMessagesetRecursionDesired(boolean recursionDesired)Sets theRD(recursion desired} field of this DNS message.DnsMessagesetZ(int z)Sets theZ(reserved for future use) field of this DNS message.DnsMessagetouch()DnsMessagetouch(Object hint)intz()Returns theZ(reserved for future use) field of this DNS message.-
Methods inherited from class io.netty.util.AbstractReferenceCounted
refCnt, release, release, setRefCnt
-
-
-
-
Constructor Detail
-
AbstractDnsMessage
protected AbstractDnsMessage(int id)
Creates a new instance with the specifiedidandDnsOpCode.QUERYopCode.
-
AbstractDnsMessage
protected AbstractDnsMessage(int id, DnsOpCode opCode)Creates a new instance with the specifiedidandopCode.
-
-
Method Detail
-
id
public int id()
Description copied from interface:DnsMessageReturns theIDof this DNS message.- Specified by:
idin interfaceDnsMessage
-
setId
public DnsMessage setId(int id)
Description copied from interface:DnsMessageSets theIDof this DNS message.- Specified by:
setIdin interfaceDnsMessage
-
opCode
public DnsOpCode opCode()
Description copied from interface:DnsMessageReturns theopCodeof this DNS message.- Specified by:
opCodein interfaceDnsMessage
-
setOpCode
public DnsMessage setOpCode(DnsOpCode opCode)
Description copied from interface:DnsMessageSets theopCodeof this DNS message.- Specified by:
setOpCodein interfaceDnsMessage
-
isRecursionDesired
public boolean isRecursionDesired()
Description copied from interface:DnsMessageReturns theRD(recursion desired} field of this DNS message.- Specified by:
isRecursionDesiredin interfaceDnsMessage
-
setRecursionDesired
public DnsMessage setRecursionDesired(boolean recursionDesired)
Description copied from interface:DnsMessageSets theRD(recursion desired} field of this DNS message.- Specified by:
setRecursionDesiredin interfaceDnsMessage
-
z
public int z()
Description copied from interface:DnsMessageReturns theZ(reserved for future use) field of this DNS message.- Specified by:
zin interfaceDnsMessage
-
setZ
public DnsMessage setZ(int z)
Description copied from interface:DnsMessageSets theZ(reserved for future use) field of this DNS message.- Specified by:
setZin interfaceDnsMessage
-
count
public int count(DnsSection section)
Description copied from interface:DnsMessageReturns the number of records in the specifiedsectionof this DNS message.- Specified by:
countin interfaceDnsMessage
-
count
public int count()
Description copied from interface:DnsMessageReturns the number of records in this DNS message.- Specified by:
countin interfaceDnsMessage
-
recordAt
public <T extends DnsRecord> T recordAt(DnsSection section)
Description copied from interface:DnsMessageReturns the first record in the specifiedsectionof this DNS message. When the specifiedsectionisDnsSection.QUESTION, the type of the returned record is alwaysDnsQuestion.- Specified by:
recordAtin interfaceDnsMessage- Returns:
nullif this message doesn't have any records in the specifiedsection
-
recordAt
public <T extends DnsRecord> T recordAt(DnsSection section, int index)
Description copied from interface:DnsMessageReturns the record at the specifiedindexof the specifiedsectionof this DNS message. When the specifiedsectionisDnsSection.QUESTION, the type of the returned record is alwaysDnsQuestion.- Specified by:
recordAtin interfaceDnsMessage
-
setRecord
public DnsMessage setRecord(DnsSection section, DnsRecord record)
Description copied from interface:DnsMessageSets the specifiedsectionof this DNS message to the specifiedrecord, making it a single-record section. When the specifiedsectionisDnsSection.QUESTION, the specifiedrecordmust be aDnsQuestion.- Specified by:
setRecordin interfaceDnsMessage
-
setRecord
public <T extends DnsRecord> T setRecord(DnsSection section, int index, DnsRecord record)
Description copied from interface:DnsMessageSets the specifiedrecordat the specifiedindexof the specifiedsectionof this DNS message. When the specifiedsectionisDnsSection.QUESTION, the specifiedrecordmust be aDnsQuestion.- Specified by:
setRecordin interfaceDnsMessage- Returns:
- the old record
-
addRecord
public DnsMessage addRecord(DnsSection section, DnsRecord record)
Description copied from interface:DnsMessageAdds the specifiedrecordat the end of the specifiedsectionof this DNS message. When the specifiedsectionisDnsSection.QUESTION, the specifiedrecordmust be aDnsQuestion.- Specified by:
addRecordin interfaceDnsMessage
-
addRecord
public DnsMessage addRecord(DnsSection section, int index, DnsRecord record)
Description copied from interface:DnsMessageAdds the specifiedrecordat the specifiedindexof the specifiedsectionof this DNS message. When the specifiedsectionisDnsSection.QUESTION, the specifiedrecordmust be aDnsQuestion.- Specified by:
addRecordin interfaceDnsMessage
-
removeRecord
public <T extends DnsRecord> T removeRecord(DnsSection section, int index)
Description copied from interface:DnsMessageRemoves the record at the specifiedindexof the specifiedsectionfrom this DNS message. When the specifiedsectionisDnsSection.QUESTION, the type of the returned record is alwaysDnsQuestion.- Specified by:
removeRecordin interfaceDnsMessage- Returns:
- the removed record
-
clear
public DnsMessage clear(DnsSection section)
Description copied from interface:DnsMessageRemoves all the records in the specifiedsectionof this DNS message.- Specified by:
clearin interfaceDnsMessage
-
clear
public DnsMessage clear()
Description copied from interface:DnsMessageRemoves all the records in this DNS message.- Specified by:
clearin interfaceDnsMessage
-
touch
public DnsMessage touch()
- Specified by:
touchin interfaceDnsMessage- Specified by:
touchin interfaceio.netty.util.ReferenceCounted- Overrides:
touchin classio.netty.util.AbstractReferenceCounted
-
touch
public DnsMessage touch(Object hint)
- Specified by:
touchin interfaceDnsMessage- Specified by:
touchin interfaceio.netty.util.ReferenceCounted
-
retain
public DnsMessage retain()
- Specified by:
retainin interfaceDnsMessage- Specified by:
retainin interfaceio.netty.util.ReferenceCounted- Overrides:
retainin classio.netty.util.AbstractReferenceCounted
-
retain
public DnsMessage retain(int increment)
- Specified by:
retainin interfaceDnsMessage- Specified by:
retainin interfaceio.netty.util.ReferenceCounted- Overrides:
retainin classio.netty.util.AbstractReferenceCounted
-
deallocate
protected void deallocate()
- Specified by:
deallocatein classio.netty.util.AbstractReferenceCounted
-
-