Home / Function/ doResolveAllCached() — netty Function Reference

doResolveAllCached() — netty Function Reference

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

Entity Profile

Dependency Diagram

graph TD
  6620d649_610e_f6f5_90da_fe7f679440b9["doResolveAllCached()"]
  a8faea52_3f45_7b36_4918_3dfb9bd6ee9b["DnsNameResolver"]
  6620d649_610e_f6f5_90da_fe7f679440b9 -->|defined in| a8faea52_3f45_7b36_4918_3dfb9bd6ee9b
  650314bb_3e5a_9e0a_a559_cfe425cb06f2["doResolveAll()"]
  650314bb_3e5a_9e0a_a559_cfe425cb06f2 -->|calls| 6620d649_610e_f6f5_90da_fe7f679440b9
  fcedf786_fe1b_19fd_a501_d01e671513ca["hasEntries()"]
  6620d649_610e_f6f5_90da_fe7f679440b9 -->|calls| fcedf786_fe1b_19fd_a501_d01e671513ca
  35022c36_d3c3_31af_060f_8e097504fe43["addressType()"]
  6620d649_610e_f6f5_90da_fe7f679440b9 -->|calls| 35022c36_d3c3_31af_060f_8e097504fe43
  2a3cee87_1d7f_e127_faf9_4222d043bc36["trySuccess()"]
  6620d649_610e_f6f5_90da_fe7f679440b9 -->|calls| 2a3cee87_1d7f_e127_faf9_4222d043bc36
  f155e8ba_bafb_afc3_0b7a_9f4916a192be["tryFailure()"]
  6620d649_610e_f6f5_90da_fe7f679440b9 -->|calls| f155e8ba_bafb_afc3_0b7a_9f4916a192be
  style 6620d649_610e_f6f5_90da_fe7f679440b9 fill:#6366f1,stroke:#818cf8,color:#fff

Relationship Graph

Source Code

resolver-dns/src/main/java/io/netty/resolver/dns/DnsNameResolver.java lines 1181–1228

    static boolean doResolveAllCached(String hostname,
                                      DnsRecord[] additionals,
                                      Promise<List<InetAddress>> promise,
                                      DnsCache resolveCache,
                                      String[] searchDomains,
                                      int ndots,
                                      SocketProtocolFamily[] resolvedInternetProtocolFamilies) {
        List<? extends DnsCacheEntry> cachedEntries = resolveCache.get(hostname, additionals);
        if (!hasEntries(cachedEntries) && searchDomains != null && ndots != 0
                && !StringUtil.endsWith(hostname, '.')) {
            for (String searchDomain : searchDomains) {
                final String initialHostname = hostname + '.' + searchDomain;
                cachedEntries = resolveCache.get(initialHostname, additionals);
                if (hasEntries(cachedEntries)) {
                    break;
                }
            }
        }
        if (!hasEntries(cachedEntries)) {
            return false;
        }

        Throwable cause = cachedEntries.get(0).cause();
        if (cause == null) {
            List<InetAddress> result = null;
            final int numEntries = cachedEntries.size();
            for (SocketProtocolFamily f : resolvedInternetProtocolFamilies) {
                for (int i = 0; i < numEntries; i++) {
                    final DnsCacheEntry e = cachedEntries.get(i);
                    Class<? extends InetAddress> addressType = addressType(f);
                    if (addressType != null && addressType.isInstance(e.address())) {
                        if (result == null) {
                            result = new ArrayList<InetAddress>(numEntries);
                        }
                        result.add(e.address());
                    }
                }
            }
            if (result != null) {
                trySuccess(promise, result);
                return true;
            }
            return false;
        } else {
            tryFailure(promise, cause);
            return true;
        }
    }

Subdomains

Called By

Frequently Asked Questions

What does doResolveAllCached() do?
doResolveAllCached() is a function in the netty codebase, defined in resolver-dns/src/main/java/io/netty/resolver/dns/DnsNameResolver.java.
Where is doResolveAllCached() defined?
doResolveAllCached() is defined in resolver-dns/src/main/java/io/netty/resolver/dns/DnsNameResolver.java at line 1181.
What does doResolveAllCached() call?
doResolveAllCached() calls 4 function(s): addressType, hasEntries, tryFailure, trySuccess.
What calls doResolveAllCached()?
doResolveAllCached() is called by 1 function(s): doResolveAll.

Analyze Your Own Codebase

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

Try Supermodel Free