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[]additionalsprivate intidprivate static InternalLoggerloggerprivate java.net.InetSocketAddressnameServerAddrprivate DnsRecordoptResourceprivate DnsNameResolverparentprivate Promise<AddressedEnvelope<DnsResponse,java.net.InetSocketAddress>>promiseprivate DnsQuestionquestionprivate booleanrecursionDesiredprivate 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 Channelchannel()(package private) voidfinish(AddressedEnvelope<? extends DnsResponse,java.net.InetSocketAddress> envelope)Takes ownership of passed envelope(package private) java.net.InetSocketAddressnameServerAddr()protected abstract DnsQuerynewQuery(int id)private voidonQueryWriteCompletion(ChannelFuture writeFuture)voidoperationComplete(Future<AddressedEnvelope<DnsResponse,java.net.InetSocketAddress>> future)Invoked when the operation associated with theFuturehas been completed.(package private) DnsNameResolverparent()protected abstract java.lang.Stringprotocol()(package private) voidquery(boolean flush, ChannelPromise writePromise)(package private) DnsQuestionquestion()private voidsendQuery(DnsQuery query, boolean flush, ChannelPromise writePromise)(package private) booleantryFailure(java.lang.String message, java.lang.Throwable cause, boolean timeout)private booleantrySuccess(AddressedEnvelope<? extends DnsResponse,java.net.InetSocketAddress> envelope)private voidwriteQuery(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:GenericFutureListenerInvoked when the operation associated with theFuturehas been completed.- Specified by:
operationCompletein interfaceGenericFutureListener<Future<AddressedEnvelope<DnsResponse,java.net.InetSocketAddress>>>- Parameters:
future- the sourceFuturewhich called this callback
-
-