@UnstableApi public abstract class AbstractDnsMessage extends AbstractReferenceCounted implements DnsMessage
DnsMessage
.Modifier | Constructor and Description |
---|---|
protected |
AbstractDnsMessage(int id)
Creates a new instance with the specified
id and DnsOpCode.QUERY opCode. |
protected |
AbstractDnsMessage(int id,
DnsOpCode opCode)
Creates a new instance with the specified
id and opCode . |
Modifier and Type | Method and Description |
---|---|
DnsMessage |
addRecord(DnsSection section,
DnsRecord record)
Adds the specified
record at the end of the specified section of this DNS message. |
DnsMessage |
addRecord(DnsSection section,
int index,
DnsRecord record)
Adds the specified
record at the specified index of the specified section
of this DNS message. |
DnsMessage |
clear()
Removes all the records in this DNS message.
|
DnsMessage |
clear(DnsSection section)
Removes all the records in the specified
section of this DNS message. |
int |
count()
Returns the number of records in this DNS message.
|
int |
count(DnsSection section)
Returns the number of records in the specified
section of this DNS message. |
protected void |
deallocate()
Called once
AbstractReferenceCounted.refCnt() is equals 0. |
boolean |
equals(Object obj) |
int |
hashCode() |
int |
id()
Returns the
ID of this DNS message. |
boolean |
isRecursionDesired()
Returns the
RD (recursion desired} field of this DNS message. |
DnsOpCode |
opCode()
Returns the
opCode of this DNS message. |
<T extends DnsRecord> |
recordAt(DnsSection section)
Returns the first record in the specified
section of this DNS message. |
<T extends DnsRecord> |
recordAt(DnsSection section,
int index)
Returns the record at the specified
index of the specified section of this DNS message. |
<T extends DnsRecord> |
removeRecord(DnsSection section,
int index)
Removes the record at the specified
index of the specified section from this DNS message. |
DnsMessage |
retain()
Increases the reference count by
1 . |
DnsMessage |
retain(int increment)
Increases the reference count by the specified
increment . |
DnsMessage |
setId(int id)
Sets the
ID of this DNS message. |
DnsMessage |
setOpCode(DnsOpCode opCode)
Sets the
opCode of this DNS message. |
DnsMessage |
setRecord(DnsSection section,
DnsRecord record)
Sets the specified
section of this DNS message to the specified record ,
making it a single-record section. |
<T extends DnsRecord> |
setRecord(DnsSection section,
int index,
DnsRecord record)
Sets the specified
record at the specified index of the specified section
of this DNS message. |
DnsMessage |
setRecursionDesired(boolean recursionDesired)
Sets the
RD (recursion desired} field of this DNS message. |
DnsMessage |
setZ(int z)
Sets the
Z (reserved for future use) field of this DNS message. |
DnsMessage |
touch()
Records the current access location of this object for debugging purposes.
|
DnsMessage |
touch(Object hint)
Records the current access location of this object with an additional arbitrary information for debugging
purposes.
|
int |
z()
Returns the
Z (reserved for future use) field of this DNS message. |
refCnt, release, release, setRefCnt
clone, finalize, getClass, notify, notifyAll, toString, wait, wait, wait
refCnt, release, release
protected AbstractDnsMessage(int id)
id
and DnsOpCode.QUERY
opCode.protected AbstractDnsMessage(int id, DnsOpCode opCode)
id
and opCode
.public int id()
DnsMessage
ID
of this DNS message.id
in interface DnsMessage
public DnsMessage setId(int id)
DnsMessage
ID
of this DNS message.setId
in interface DnsMessage
public DnsOpCode opCode()
DnsMessage
opCode
of this DNS message.opCode
in interface DnsMessage
public DnsMessage setOpCode(DnsOpCode opCode)
DnsMessage
opCode
of this DNS message.setOpCode
in interface DnsMessage
public boolean isRecursionDesired()
DnsMessage
RD
(recursion desired} field of this DNS message.isRecursionDesired
in interface DnsMessage
public DnsMessage setRecursionDesired(boolean recursionDesired)
DnsMessage
RD
(recursion desired} field of this DNS message.setRecursionDesired
in interface DnsMessage
public int z()
DnsMessage
Z
(reserved for future use) field of this DNS message.z
in interface DnsMessage
public DnsMessage setZ(int z)
DnsMessage
Z
(reserved for future use) field of this DNS message.setZ
in interface DnsMessage
public int count(DnsSection section)
DnsMessage
section
of this DNS message.count
in interface DnsMessage
public int count()
DnsMessage
count
in interface DnsMessage
public <T extends DnsRecord> T recordAt(DnsSection section)
DnsMessage
section
of this DNS message.
When the specified section
is DnsSection.QUESTION
, the type of the returned record is
always DnsQuestion
.recordAt
in interface DnsMessage
null
if this message doesn't have any records in the specified section
public <T extends DnsRecord> T recordAt(DnsSection section, int index)
DnsMessage
index
of the specified section
of this DNS message.
When the specified section
is DnsSection.QUESTION
, the type of the returned record is
always DnsQuestion
.recordAt
in interface DnsMessage
public DnsMessage setRecord(DnsSection section, DnsRecord record)
DnsMessage
section
of this DNS message to the specified record
,
making it a single-record section. When the specified section
is DnsSection.QUESTION
,
the specified record
must be a DnsQuestion
.setRecord
in interface DnsMessage
public <T extends DnsRecord> T setRecord(DnsSection section, int index, DnsRecord record)
DnsMessage
record
at the specified index
of the specified section
of this DNS message. When the specified section
is DnsSection.QUESTION
,
the specified record
must be a DnsQuestion
.setRecord
in interface DnsMessage
public DnsMessage addRecord(DnsSection section, DnsRecord record)
DnsMessage
record
at the end of the specified section
of this DNS message.
When the specified section
is DnsSection.QUESTION
, the specified record
must be a DnsQuestion
.addRecord
in interface DnsMessage
public DnsMessage addRecord(DnsSection section, int index, DnsRecord record)
DnsMessage
record
at the specified index
of the specified section
of this DNS message. When the specified section
is DnsSection.QUESTION
, the specified
record
must be a DnsQuestion
.addRecord
in interface DnsMessage
public <T extends DnsRecord> T removeRecord(DnsSection section, int index)
DnsMessage
index
of the specified section
from this DNS message.
When the specified section
is DnsSection.QUESTION
, the type of the returned record is
always DnsQuestion
.removeRecord
in interface DnsMessage
public DnsMessage clear(DnsSection section)
DnsMessage
section
of this DNS message.clear
in interface DnsMessage
public DnsMessage clear()
DnsMessage
clear
in interface DnsMessage
public DnsMessage touch()
ReferenceCounted
ResourceLeakDetector
. This method is a shortcut to touch(null)
.touch
in interface DnsMessage
touch
in interface ReferenceCounted
touch
in class AbstractReferenceCounted
public DnsMessage touch(Object hint)
ReferenceCounted
ResourceLeakDetector
.touch
in interface DnsMessage
touch
in interface ReferenceCounted
public DnsMessage retain()
ReferenceCounted
1
.retain
in interface DnsMessage
retain
in interface ReferenceCounted
retain
in class AbstractReferenceCounted
public DnsMessage retain(int increment)
ReferenceCounted
increment
.retain
in interface DnsMessage
retain
in interface ReferenceCounted
retain
in class AbstractReferenceCounted
protected void deallocate()
AbstractReferenceCounted
AbstractReferenceCounted.refCnt()
is equals 0.deallocate
in class AbstractReferenceCounted
Copyright © 2008–2017 The Netty Project. All rights reserved.