private DnsQueryLifecycleObserver newDnsQueryLifecycleObserver(DnsQuestion question) { return parent.dnsQueryLifecycleObserverFactory().newDnsQueryLifecycleObserver(question); }
parent.dnsQueryLifecycleObserverFactory().newDnsQueryLifecycleObserver(question), promise);
private void query(final DnsServerAddressStream nameServerAddrStream, final int nameServerAddrStreamIndex, final DnsQuestion question, final DnsQueryLifecycleObserver queryLifecycleObserver, final Promise<List<T>> promise, final Throwable cause) { if (nameServerAddrStreamIndex >= nameServerAddrStream.size() || allowedQueries == 0 || promise.isCancelled()) { tryToFinishResolve(nameServerAddrStream, nameServerAddrStreamIndex, question, queryLifecycleObserver, promise, cause); return; } --allowedQueries; final InetSocketAddress nameServerAddr = nameServerAddrStream.next(); if (nameServerAddr.isUnresolved()) { queryUnresolvedNameserver(nameServerAddr, nameServerAddrStream, nameServerAddrStreamIndex, question, queryLifecycleObserver, promise, cause); return; } final ChannelPromise writePromise = parent.ch.newPromise(); final Future<AddressedEnvelope<DnsResponse, InetSocketAddress>> f = parent.query0( nameServerAddr, question, additionals, writePromise, parent.ch.eventLoop().<AddressedEnvelope<? extends DnsResponse, InetSocketAddress>>newPromise()); queriesInProgress.add(f); queryLifecycleObserver.queryWritten(nameServerAddr, writePromise); f.addListener(new FutureListener<AddressedEnvelope<DnsResponse, InetSocketAddress>>() { @Override
private DnsQueryLifecycleObserver newDnsQueryLifecycleObserver(DnsQuestion question) { return parent.dnsQueryLifecycleObserverFactory().newDnsQueryLifecycleObserver(question); }
parent.dnsQueryLifecycleObserverFactory().newDnsQueryLifecycleObserver(question), promise);
private void query(final DnsServerAddressStream nameServerAddrStream, final int nameServerAddrStreamIndex, final DnsQuestion question, final DnsQueryLifecycleObserver queryLifecycleObserver, final Promise<List<T>> promise, final Throwable cause) { if (nameServerAddrStreamIndex >= nameServerAddrStream.size() || allowedQueries == 0 || promise.isCancelled()) { tryToFinishResolve(nameServerAddrStream, nameServerAddrStreamIndex, question, queryLifecycleObserver, promise, cause); return; } --allowedQueries; final InetSocketAddress nameServerAddr = nameServerAddrStream.next(); final ChannelPromise writePromise = parent.ch.newPromise(); final Future<AddressedEnvelope<DnsResponse, InetSocketAddress>> f = parent.query0( nameServerAddr, question, additionals, writePromise, parent.ch.eventLoop().<AddressedEnvelope<? extends DnsResponse, InetSocketAddress>>newPromise()); queriesInProgress.add(f); queryLifecycleObserver.queryWritten(nameServerAddr, writePromise); f.addListener(new FutureListener<AddressedEnvelope<DnsResponse, InetSocketAddress>>() { @Override public void operationComplete(Future<AddressedEnvelope<DnsResponse, InetSocketAddress>> future) { queriesInProgress.remove(future); if (promise.isDone() || future.isCancelled()) { queryLifecycleObserver.queryCancelled(allowedQueries);