1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 package io.netty.resolver.dns;
17
18 import io.netty.bootstrap.Bootstrap;
19 import io.netty.channel.AddressedEnvelope;
20 import io.netty.channel.Channel;
21 import io.netty.channel.ChannelFuture;
22 import io.netty.handler.codec.dns.DatagramDnsQuery;
23 import io.netty.handler.codec.dns.DnsQuery;
24 import io.netty.handler.codec.dns.DnsQuestion;
25 import io.netty.handler.codec.dns.DnsRecord;
26 import io.netty.handler.codec.dns.DnsResponse;
27 import io.netty.util.concurrent.Future;
28 import io.netty.util.concurrent.Promise;
29
30 import java.net.InetSocketAddress;
31
32 final class DatagramDnsQueryContext extends DnsQueryContext {
33
34 DatagramDnsQueryContext(Channel channel,
35 InetSocketAddress nameServerAddr,
36 DnsQueryContextManager queryContextManager,
37 DnsQueryLifecycleObserver queryLifecycleObserver,
38 int maxPayLoadSize, boolean recursionDesired,
39 long queryTimeoutMillis,
40 DnsQuestion question, DnsRecord[] additionals,
41 Promise<AddressedEnvelope<DnsResponse, InetSocketAddress>> promise,
42 Bootstrap socketBootstrap, boolean retryWithTcpOnTimeout,
43 DnsQueryProtection protection) {
44 super(channel, nameServerAddr, queryContextManager, queryLifecycleObserver, maxPayLoadSize, recursionDesired,
45 queryTimeoutMillis, question, null, additionals, promise, socketBootstrap, retryWithTcpOnTimeout,
46 protection);
47 }
48
49 @Override
50 protected DnsQuery newQuery(int id, InetSocketAddress nameServerAddr) {
51 return new DatagramDnsQuery(null, nameServerAddr, id);
52 }
53
54 @Override
55 protected String protocol() {
56 return "UDP";
57 }
58 }