Package | Description |
---|---|
io.netty.handler.codec.dns |
DNS codec.
|
io.netty.resolver.dns |
An alternative to Java's built-in domain name lookup mechanism that resolves a domain name asynchronously,
which supports the queries of an arbitrary DNS record type as well.
|
Modifier and Type | Class and Description |
---|---|
class |
DatagramDnsResponse
A
DnsResponse implementation for UDP/IP. |
class |
DefaultDnsResponse
The default
DnsResponse implementation. |
Modifier and Type | Method and Description |
---|---|
DnsResponse |
DefaultDnsResponse.addRecord(DnsSection section,
DnsRecord record) |
DnsResponse |
DnsResponse.addRecord(DnsSection section,
DnsRecord record) |
DnsResponse |
DefaultDnsResponse.addRecord(DnsSection section,
int index,
DnsRecord record) |
DnsResponse |
DnsResponse.addRecord(DnsSection section,
int index,
DnsRecord record) |
DnsResponse |
DefaultDnsResponse.clear() |
DnsResponse |
DnsResponse.clear() |
DnsResponse |
DefaultDnsResponse.clear(DnsSection section) |
DnsResponse |
DnsResponse.clear(DnsSection section) |
private static DnsResponse |
DatagramDnsResponseDecoder.newResponse(DatagramPacket packet,
ByteBuf buf) |
DnsResponse |
DefaultDnsResponse.retain() |
DnsResponse |
DnsResponse.retain() |
DnsResponse |
DefaultDnsResponse.retain(int increment) |
DnsResponse |
DnsResponse.retain(int increment) |
DnsResponse |
DefaultDnsResponse.setAuthoritativeAnswer(boolean authoritativeAnswer) |
DnsResponse |
DnsResponse.setAuthoritativeAnswer(boolean authoritativeAnswer)
Set to
true if responding server is authoritative for the domain
name in the query message. |
DnsResponse |
DefaultDnsResponse.setCode(DnsResponseCode code) |
DnsResponse |
DnsResponse.setCode(DnsResponseCode code)
Sets the response code for this message.
|
DnsResponse |
DefaultDnsResponse.setId(int id) |
DnsResponse |
DnsResponse.setId(int id) |
DnsResponse |
DefaultDnsResponse.setOpCode(DnsOpCode opCode) |
DnsResponse |
DnsResponse.setOpCode(DnsOpCode opCode) |
DnsResponse |
DefaultDnsResponse.setRecord(DnsSection section,
DnsRecord record) |
DnsResponse |
DnsResponse.setRecord(DnsSection section,
DnsRecord record) |
DnsResponse |
DefaultDnsResponse.setRecursionAvailable(boolean recursionAvailable) |
DnsResponse |
DnsResponse.setRecursionAvailable(boolean recursionAvailable)
Set to
true if DNS server can handle recursive queries. |
DnsResponse |
DefaultDnsResponse.setRecursionDesired(boolean recursionDesired) |
DnsResponse |
DnsResponse.setRecursionDesired(boolean recursionDesired) |
DnsResponse |
DefaultDnsResponse.setTruncated(boolean truncated) |
DnsResponse |
DnsResponse.setTruncated(boolean truncated)
Set to
true if response has been truncated (usually happens for
responses over 512 bytes). |
DnsResponse |
DefaultDnsResponse.setZ(int z) |
DnsResponse |
DnsResponse.setZ(int z) |
DnsResponse |
DefaultDnsResponse.touch() |
DnsResponse |
DnsResponse.touch() |
DnsResponse |
DefaultDnsResponse.touch(java.lang.Object hint) |
DnsResponse |
DnsResponse.touch(java.lang.Object hint) |
Modifier and Type | Method and Description |
---|---|
(package private) static java.lang.StringBuilder |
DnsMessageUtil.appendResponse(java.lang.StringBuilder buf,
DnsResponse response) |
private static void |
DnsMessageUtil.appendResponseHeader(java.lang.StringBuilder buf,
DnsResponse msg) |
private void |
DatagramDnsResponseDecoder.decodeQuestions(DnsResponse response,
ByteBuf buf,
int questionCount) |
private void |
DatagramDnsResponseDecoder.decodeRecords(DnsResponse response,
DnsSection section,
ByteBuf buf,
int count) |
private static void |
DatagramDnsResponseEncoder.encodeHeader(DnsResponse response,
ByteBuf buf)
Encodes the header that is always 12 bytes long.
|
private void |
DatagramDnsResponseEncoder.encodeQuestions(DnsResponse response,
ByteBuf buf) |
private void |
DatagramDnsResponseEncoder.encodeRecords(DnsResponse response,
DnsSection section,
ByteBuf buf) |
Modifier and Type | Method and Description |
---|---|
protected ByteBuf |
DatagramDnsResponseEncoder.allocateBuffer(ChannelHandlerContext ctx,
AddressedEnvelope<DnsResponse,java.net.InetSocketAddress> msg)
Allocate a
ByteBuf which will be used for constructing a datagram packet. |
protected void |
DatagramDnsResponseEncoder.encode(ChannelHandlerContext ctx,
AddressedEnvelope<DnsResponse,java.net.InetSocketAddress> in,
java.util.List<java.lang.Object> out) |
Modifier and Type | Field and Description |
---|---|
private Promise<AddressedEnvelope<DnsResponse,java.net.InetSocketAddress>> |
DnsQueryContext.promise |
private java.util.Set<Future<AddressedEnvelope<DnsResponse,java.net.InetSocketAddress>>> |
DnsNameResolverContext.queriesInProgress |
private static FutureListener<AddressedEnvelope<DnsResponse,java.net.InetSocketAddress>> |
DnsNameResolverContext.RELEASE_RESPONSE |
Modifier and Type | Method and Description |
---|---|
private static Promise<AddressedEnvelope<DnsResponse,java.net.InetSocketAddress>> |
DnsNameResolver.cast(Promise<?> promise) |
Future<AddressedEnvelope<DnsResponse,java.net.InetSocketAddress>> |
DnsNameResolver.query(DnsQuestion question)
Sends a DNS query with the specified question.
|
Future<AddressedEnvelope<DnsResponse,java.net.InetSocketAddress>> |
DnsNameResolver.query(DnsQuestion question,
java.lang.Iterable<DnsRecord> additionals)
Sends a DNS query with the specified question with additional records.
|
Future<AddressedEnvelope<DnsResponse,java.net.InetSocketAddress>> |
DnsNameResolver.query(DnsQuestion question,
Promise<AddressedEnvelope<? extends DnsResponse,java.net.InetSocketAddress>> promise)
Sends a DNS query with the specified question.
|
Future<AddressedEnvelope<DnsResponse,java.net.InetSocketAddress>> |
DnsNameResolver.query(java.net.InetSocketAddress nameServerAddr,
DnsQuestion question)
Sends a DNS query with the specified question using the specified name server list.
|
Future<AddressedEnvelope<DnsResponse,java.net.InetSocketAddress>> |
DnsNameResolver.query(java.net.InetSocketAddress nameServerAddr,
DnsQuestion question,
java.lang.Iterable<DnsRecord> additionals)
Sends a DNS query with the specified question with additional records using the specified name server list.
|
Future<AddressedEnvelope<DnsResponse,java.net.InetSocketAddress>> |
DnsNameResolver.query(java.net.InetSocketAddress nameServerAddr,
DnsQuestion question,
java.lang.Iterable<DnsRecord> additionals,
Promise<AddressedEnvelope<? extends DnsResponse,java.net.InetSocketAddress>> promise)
Sends a DNS query with the specified question with additional records using the specified name server list.
|
Future<AddressedEnvelope<DnsResponse,java.net.InetSocketAddress>> |
DnsNameResolver.query(java.net.InetSocketAddress nameServerAddr,
DnsQuestion question,
Promise<AddressedEnvelope<? extends DnsResponse,java.net.InetSocketAddress>> promise)
Sends a DNS query with the specified question using the specified name server list.
|
(package private) Future<AddressedEnvelope<DnsResponse,java.net.InetSocketAddress>> |
DnsNameResolver.query0(java.net.InetSocketAddress nameServerAddr,
DnsQuestion question,
DnsRecord[] additionals,
ChannelPromise writePromise,
Promise<AddressedEnvelope<? extends DnsResponse,java.net.InetSocketAddress>> promise) |
(package private) Future<AddressedEnvelope<DnsResponse,java.net.InetSocketAddress>> |
DnsNameResolver.query0(java.net.InetSocketAddress nameServerAddr,
DnsQuestion question,
DnsRecord[] additionals,
Promise<AddressedEnvelope<? extends DnsResponse,java.net.InetSocketAddress>> promise) |
Modifier and Type | Method and Description |
---|---|
private static java.util.Map<java.lang.String,java.lang.String> |
DnsNameResolverContext.buildAliasMap(DnsResponse response) |
private static DnsNameResolverContext.AuthoritativeNameServerList |
DnsNameResolverContext.extractAuthoritativeNameServers(java.lang.String questionName,
DnsResponse res)
Returns the {@link AuthoritativeNameServerList} which were included in {@link DnsSection#AUTHORITY}
or {@code null} if non are found.
|
Modifier and Type | Method and Description |
---|---|
(package private) void |
DnsQueryContext.finish(AddressedEnvelope<? extends DnsResponse,java.net.InetSocketAddress> envelope) |
private boolean |
DnsNameResolverContext.handleRedirect(DnsQuestion question,
AddressedEnvelope<DnsResponse,java.net.InetSocketAddress> envelope,
DnsQueryLifecycleObserver queryLifecycleObserver,
Promise<T> promise)
Handles a redirect answer if needed and returns
true if a redirect query has been made. |
(package private) void |
DnsNameResolverContext.onResponse(DnsServerAddressStream nameServerAddrStream,
int nameServerAddrStreamIndex,
DnsQuestion question,
AddressedEnvelope<DnsResponse,java.net.InetSocketAddress> envelope,
DnsQueryLifecycleObserver queryLifecycleObserver,
Promise<T> promise) |
private void |
DnsNameResolverContext.onResponseAorAAAA(DnsRecordType qType,
DnsQuestion question,
AddressedEnvelope<DnsResponse,java.net.InetSocketAddress> envelope,
DnsQueryLifecycleObserver queryLifecycleObserver,
Promise<T> promise) |
private void |
DnsNameResolverContext.onResponseCNAME(DnsQuestion question,
AddressedEnvelope<DnsResponse,java.net.InetSocketAddress> envelope,
DnsQueryLifecycleObserver queryLifecycleObserver,
Promise<T> promise) |
private void |
DnsNameResolverContext.onResponseCNAME(DnsQuestion question,
AddressedEnvelope<DnsResponse,java.net.InetSocketAddress> response,
java.util.Map<java.lang.String,java.lang.String> cnames,
DnsQueryLifecycleObserver queryLifecycleObserver,
Promise<T> promise) |
Future<AddressedEnvelope<DnsResponse,java.net.InetSocketAddress>> |
DnsNameResolver.query(DnsQuestion question,
Promise<AddressedEnvelope<? extends DnsResponse,java.net.InetSocketAddress>> promise)
Sends a DNS query with the specified question.
|
Future<AddressedEnvelope<DnsResponse,java.net.InetSocketAddress>> |
DnsNameResolver.query(java.net.InetSocketAddress nameServerAddr,
DnsQuestion question,
java.lang.Iterable<DnsRecord> additionals,
Promise<AddressedEnvelope<? extends DnsResponse,java.net.InetSocketAddress>> promise)
Sends a DNS query with the specified question with additional records using the specified name server list.
|
Future<AddressedEnvelope<DnsResponse,java.net.InetSocketAddress>> |
DnsNameResolver.query(java.net.InetSocketAddress nameServerAddr,
DnsQuestion question,
Promise<AddressedEnvelope<? extends DnsResponse,java.net.InetSocketAddress>> promise)
Sends a DNS query with the specified question using the specified name server list.
|
(package private) Future<AddressedEnvelope<DnsResponse,java.net.InetSocketAddress>> |
DnsNameResolver.query0(java.net.InetSocketAddress nameServerAddr,
DnsQuestion question,
DnsRecord[] additionals,
ChannelPromise writePromise,
Promise<AddressedEnvelope<? extends DnsResponse,java.net.InetSocketAddress>> promise) |
(package private) Future<AddressedEnvelope<DnsResponse,java.net.InetSocketAddress>> |
DnsNameResolver.query0(java.net.InetSocketAddress nameServerAddr,
DnsQuestion question,
DnsRecord[] additionals,
Promise<AddressedEnvelope<? extends DnsResponse,java.net.InetSocketAddress>> promise) |
private void |
DnsQueryContext.setSuccess(AddressedEnvelope<? extends DnsResponse,java.net.InetSocketAddress> envelope) |
Constructor and Description |
---|
DnsQueryContext(DnsNameResolver parent,
java.net.InetSocketAddress nameServerAddr,
DnsQuestion question,
DnsRecord[] additionals,
Promise<AddressedEnvelope<DnsResponse,java.net.InetSocketAddress>> promise) |