Home / Function/ onResponseCNAME() — netty Function Reference

onResponseCNAME() — netty Function Reference

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

Entity Profile

Dependency Diagram

graph TD
  83b5f3ee_8078_cb8b_b707_9c1f58a2c6cb["onResponseCNAME()"]
  3bc002ec_f54e_a55f_0b37_77eac88c60db["DnsResolveContext"]
  83b5f3ee_8078_cb8b_b707_9c1f58a2c6cb -->|defined in| 3bc002ec_f54e_a55f_0b37_77eac88c60db
  6b22df1c_91b5_21bf_29f9_518f692074d4["onResponse()"]
  6b22df1c_91b5_21bf_29f9_518f692074d4 -->|calls| 83b5f3ee_8078_cb8b_b707_9c1f58a2c6cb
  1ff8f220_55f4_0cc5_b454_65682e36be5e["onExpectedResponse()"]
  1ff8f220_55f4_0cc5_b454_65682e36be5e -->|calls| 83b5f3ee_8078_cb8b_b707_9c1f58a2c6cb
  836e4609_6a00_0ab5_76ae_511f287c23c9["isEmpty()"]
  83b5f3ee_8078_cb8b_b707_9c1f58a2c6cb -->|calls| 836e4609_6a00_0ab5_76ae_511f287c23c9
  9887dab6_1e3b_0204_7d07_03b65a1c5e4d["followCname()"]
  83b5f3ee_8078_cb8b_b707_9c1f58a2c6cb -->|calls| 9887dab6_1e3b_0204_7d07_03b65a1c5e4d
  style 83b5f3ee_8078_cb8b_b707_9c1f58a2c6cb fill:#6366f1,stroke:#818cf8,color:#fff

Relationship Graph

Source Code

resolver-dns/src/main/java/io/netty/resolver/dns/DnsResolveContext.java lines 948–973

    private void onResponseCNAME(
            DnsQuestion question, Map<String, String> cnames,
            final DnsQueryLifecycleObserver queryLifecycleObserver,
            Promise<List<T>> promise) {

        // Resolve the host name in the question into the real host name.
        String resolved = question.name().toLowerCase(Locale.US);
        boolean found = false;
        while (!cnames.isEmpty()) { // Do not attempt to call Map.remove() when the Map is empty
                                    // because it can be Collections.emptyMap()
                                    // whose remove() throws a UnsupportedOperationException.
            final String next = cnames.remove(resolved);
            if (next != null) {
                found = true;
                resolved = next;
            } else {
                break;
            }
        }

        if (found) {
            followCname(question, resolved, queryLifecycleObserver, promise);
        } else {
            queryLifecycleObserver.queryFailed(CNAME_NOT_FOUND_QUERY_FAILED_EXCEPTION);
        }
    }

Subdomains

Frequently Asked Questions

What does onResponseCNAME() do?
onResponseCNAME() is a function in the netty codebase, defined in resolver-dns/src/main/java/io/netty/resolver/dns/DnsResolveContext.java.
Where is onResponseCNAME() defined?
onResponseCNAME() is defined in resolver-dns/src/main/java/io/netty/resolver/dns/DnsResolveContext.java at line 948.
What does onResponseCNAME() call?
onResponseCNAME() calls 2 function(s): followCname, isEmpty.
What calls onResponseCNAME()?
onResponseCNAME() is called by 2 function(s): onExpectedResponse, onResponse.

Analyze Your Own Codebase

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

Try Supermodel Free