Home / Function/ DnsQueryContext() — netty Function Reference

DnsQueryContext() — netty Function Reference

Architecture documentation for the DnsQueryContext() function in DnsQueryContext.java from the netty codebase.

Entity Profile

Dependency Diagram

graph TD
  be3000c7_6102_7cd7_e0aa_fedd49a8e5a8["DnsQueryContext()"]
  360b8eed_0666_8e3d_9331_e795bb312381["DnsQueryContext"]
  be3000c7_6102_7cd7_e0aa_fedd49a8e5a8 -->|defined in| 360b8eed_0666_8e3d_9331_e795bb312381
  5b521f80_75c3_e8d7_5d14_477d64235fee["hasOptRecord()"]
  be3000c7_6102_7cd7_e0aa_fedd49a8e5a8 -->|calls| 5b521f80_75c3_e8d7_5d14_477d64235fee
  style be3000c7_6102_7cd7_e0aa_fedd49a8e5a8 fill:#6366f1,stroke:#818cf8,color:#fff

Relationship Graph

Source Code

resolver-dns/src/main/java/io/netty/resolver/dns/DnsQueryContext.java lines 85–120

    DnsQueryContext(Channel channel,
                    InetSocketAddress nameServerAddr,
                    DnsQueryContextManager queryContextManager,
                    DnsQueryLifecycleObserver queryLifecycleObserver,
                    int maxPayLoadSize,
                    boolean recursionDesired,
                    long queryTimeoutMillis,
                    DnsQuestion question,
                    DnsRecord[] additionals,
                    Promise<AddressedEnvelope<DnsResponse, InetSocketAddress>> promise,
                    Bootstrap socketBootstrap,
                    boolean retryWithTcpOnTimeout) {
        this.channel = checkNotNull(channel, "channel");
        this.queryContextManager = checkNotNull(queryContextManager, "queryContextManager");
        this.queryLifecycleObserver = checkNotNull(queryLifecycleObserver, "queryLifecycleObserver");
        this.nameServerAddr = checkNotNull(nameServerAddr, "nameServerAddr");
        this.question = checkNotNull(question, "question");
        this.additionals = checkNotNull(additionals, "additionals");
        this.promise = checkNotNull(promise, "promise");
        this.recursionDesired = recursionDesired;
        this.queryTimeoutMillis = queryTimeoutMillis;
        this.socketBootstrap = socketBootstrap;
        this.retryWithTcpOnTimeout = retryWithTcpOnTimeout;

        if (maxPayLoadSize > 0 &&
                // Only add the extra OPT record if there is not already one. This is required as only one is allowed
                // as per RFC:
                //  - https://datatracker.ietf.org/doc/html/rfc6891#section-6.1.1
                !hasOptRecord(additionals)) {
            optResource = new AbstractDnsOptPseudoRrRecord(maxPayLoadSize, 0, 0) {
                // We may want to remove this in the future and let the user just specify the opt record in the query.
            };
        } else {
            optResource = null;
        }
    }

Subdomains

Frequently Asked Questions

What does DnsQueryContext() do?
DnsQueryContext() is a function in the netty codebase, defined in resolver-dns/src/main/java/io/netty/resolver/dns/DnsQueryContext.java.
Where is DnsQueryContext() defined?
DnsQueryContext() is defined in resolver-dns/src/main/java/io/netty/resolver/dns/DnsQueryContext.java at line 85.
What does DnsQueryContext() call?
DnsQueryContext() calls 1 function(s): hasOptRecord.

Analyze Your Own Codebase

Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.

Try Supermodel Free