@UnstableApi public abstract class AbstractDnsMessage extends AbstractReferenceCounted implements DnsMessage
DnsMessage
.限定符 | 构造器和说明 |
---|---|
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 . |
限定符和类型 | 方法和说明 |
---|---|
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(java.lang.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(java.lang.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
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
在接口中 DnsMessage
public DnsMessage setId(int id)
DnsMessage
ID
of this DNS message.setId
在接口中 DnsMessage
public DnsOpCode opCode()
DnsMessage
opCode
of this DNS message.opCode
在接口中 DnsMessage
public DnsMessage setOpCode(DnsOpCode opCode)
DnsMessage
opCode
of this DNS message.setOpCode
在接口中 DnsMessage
public boolean isRecursionDesired()
DnsMessage
RD
(recursion desired} field of this DNS message.isRecursionDesired
在接口中 DnsMessage
public DnsMessage setRecursionDesired(boolean recursionDesired)
DnsMessage
RD
(recursion desired} field of this DNS message.setRecursionDesired
在接口中 DnsMessage
public int z()
DnsMessage
Z
(reserved for future use) field of this DNS message.z
在接口中 DnsMessage
public DnsMessage setZ(int z)
DnsMessage
Z
(reserved for future use) field of this DNS message.setZ
在接口中 DnsMessage
public int count(DnsSection section)
DnsMessage
section
of this DNS message.count
在接口中 DnsMessage
public int count()
DnsMessage
count
在接口中 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
在接口中 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
在接口中 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
在接口中 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
在接口中 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
在接口中 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
在接口中 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
在接口中 DnsMessage
public DnsMessage clear(DnsSection section)
DnsMessage
section
of this DNS message.clear
在接口中 DnsMessage
public DnsMessage clear()
DnsMessage
clear
在接口中 DnsMessage
public DnsMessage touch()
ReferenceCounted
ResourceLeakDetector
. This method is a shortcut to touch(null)
.touch
在接口中 DnsMessage
touch
在接口中 ReferenceCounted
touch
在类中 AbstractReferenceCounted
public DnsMessage touch(java.lang.Object hint)
ReferenceCounted
ResourceLeakDetector
.touch
在接口中 DnsMessage
touch
在接口中 ReferenceCounted
public DnsMessage retain()
ReferenceCounted
1
.retain
在接口中 DnsMessage
retain
在接口中 ReferenceCounted
retain
在类中 AbstractReferenceCounted
public DnsMessage retain(int increment)
ReferenceCounted
increment
.retain
在接口中 DnsMessage
retain
在接口中 ReferenceCounted
retain
在类中 AbstractReferenceCounted
protected void deallocate()
AbstractReferenceCounted
AbstractReferenceCounted.refCnt()
is equals 0.deallocate
在类中 AbstractReferenceCounted
public boolean equals(java.lang.Object obj)
equals
在类中 java.lang.Object
public int hashCode()
hashCode
在类中 java.lang.Object