Package io.netty.resolver.dns
Class DnsQueryContext
- java.lang.Object
-
- io.netty.resolver.dns.DnsQueryContext
-
- All Implemented Interfaces:
FutureListener<AddressedEnvelope<DnsResponse,java.net.InetSocketAddress>>
,GenericFutureListener<Future<AddressedEnvelope<DnsResponse,java.net.InetSocketAddress>>>
,java.util.EventListener
- Direct Known Subclasses:
DatagramDnsQueryContext
,TcpDnsQueryContext
abstract class DnsQueryContext extends java.lang.Object implements FutureListener<AddressedEnvelope<DnsResponse,java.net.InetSocketAddress>>
-
-
Field Summary
Fields Modifier and Type Field Description private DnsRecord[]
additionals
private int
id
private static InternalLogger
logger
private java.net.InetSocketAddress
nameServerAddr
private DnsRecord
optResource
private DnsNameResolver
parent
private Promise<AddressedEnvelope<DnsResponse,java.net.InetSocketAddress>>
promise
private DnsQuestion
question
private boolean
recursionDesired
private ScheduledFuture<?>
timeoutFuture
-
Constructor Summary
Constructors Constructor Description DnsQueryContext(DnsNameResolver parent, java.net.InetSocketAddress nameServerAddr, DnsQuestion question, DnsRecord[] additionals, Promise<AddressedEnvelope<DnsResponse,java.net.InetSocketAddress>> promise)
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description protected abstract Channel
channel()
(package private) void
finish(AddressedEnvelope<? extends DnsResponse,java.net.InetSocketAddress> envelope)
Takes ownership of passed envelope(package private) java.net.InetSocketAddress
nameServerAddr()
protected abstract DnsQuery
newQuery(int id)
private void
onQueryWriteCompletion(ChannelFuture writeFuture)
void
operationComplete(Future<AddressedEnvelope<DnsResponse,java.net.InetSocketAddress>> future)
Invoked when the operation associated with theFuture
has been completed.(package private) DnsNameResolver
parent()
protected abstract java.lang.String
protocol()
(package private) void
query(boolean flush, ChannelPromise writePromise)
(package private) DnsQuestion
question()
private void
sendQuery(DnsQuery query, boolean flush, ChannelPromise writePromise)
(package private) boolean
tryFailure(java.lang.String message, java.lang.Throwable cause, boolean timeout)
private boolean
trySuccess(AddressedEnvelope<? extends DnsResponse,java.net.InetSocketAddress> envelope)
private void
writeQuery(DnsQuery query, boolean flush, ChannelPromise writePromise)
-
-
-
Field Detail
-
logger
private static final InternalLogger logger
-
parent
private final DnsNameResolver parent
-
promise
private final Promise<AddressedEnvelope<DnsResponse,java.net.InetSocketAddress>> promise
-
id
private final int id
-
question
private final DnsQuestion question
-
additionals
private final DnsRecord[] additionals
-
optResource
private final DnsRecord optResource
-
nameServerAddr
private final java.net.InetSocketAddress nameServerAddr
-
recursionDesired
private final boolean recursionDesired
-
timeoutFuture
private volatile ScheduledFuture<?> timeoutFuture
-
-
Constructor Detail
-
DnsQueryContext
DnsQueryContext(DnsNameResolver parent, java.net.InetSocketAddress nameServerAddr, DnsQuestion question, DnsRecord[] additionals, Promise<AddressedEnvelope<DnsResponse,java.net.InetSocketAddress>> promise)
-
-
Method Detail
-
nameServerAddr
java.net.InetSocketAddress nameServerAddr()
-
question
DnsQuestion question()
-
parent
DnsNameResolver parent()
-
newQuery
protected abstract DnsQuery newQuery(int id)
-
channel
protected abstract Channel channel()
-
protocol
protected abstract java.lang.String protocol()
-
query
void query(boolean flush, ChannelPromise writePromise)
-
sendQuery
private void sendQuery(DnsQuery query, boolean flush, ChannelPromise writePromise)
-
writeQuery
private void writeQuery(DnsQuery query, boolean flush, ChannelPromise writePromise)
-
onQueryWriteCompletion
private void onQueryWriteCompletion(ChannelFuture writeFuture)
-
finish
void finish(AddressedEnvelope<? extends DnsResponse,java.net.InetSocketAddress> envelope)
Takes ownership of passed envelope
-
trySuccess
private boolean trySuccess(AddressedEnvelope<? extends DnsResponse,java.net.InetSocketAddress> envelope)
-
tryFailure
boolean tryFailure(java.lang.String message, java.lang.Throwable cause, boolean timeout)
-
operationComplete
public void operationComplete(Future<AddressedEnvelope<DnsResponse,java.net.InetSocketAddress>> future)
Description copied from interface:GenericFutureListener
Invoked when the operation associated with theFuture
has been completed.- Specified by:
operationComplete
in interfaceGenericFutureListener<Future<AddressedEnvelope<DnsResponse,java.net.InetSocketAddress>>>
- Parameters:
future
- the sourceFuture
which called this callback
-
-