Home / Function/ DnsServerAddressStream() — netty Function Reference

DnsServerAddressStream() — netty Function Reference

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

Entity Profile

Dependency Diagram

graph TD
  d0561e6b_b305_b793_716f_98dda25d5bb9["DnsServerAddressStream()"]
  268a4b26_3b4a_685c_306c_99ddbf78df83["MacOSDnsServerAddressStreamProvider"]
  d0561e6b_b305_b793_716f_98dda25d5bb9 -->|defined in| 268a4b26_3b4a_685c_306c_99ddbf78df83
  e7b86b00_0660_4f14_26bc_7b1dd4f94dda["retrieveCurrentMappings()"]
  d0561e6b_b305_b793_716f_98dda25d5bb9 -->|calls| e7b86b00_0660_4f14_26bc_7b1dd4f94dda
  style d0561e6b_b305_b793_716f_98dda25d5bb9 fill:#6366f1,stroke:#818cf8,color:#fff

Relationship Graph

Source Code

resolver-dns-classes-macos/src/main/java/io/netty/resolver/dns/macos/MacOSDnsServerAddressStreamProvider.java lines 168–199

    @Override
    public DnsServerAddressStream nameServerAddressStream(String hostname) {
        long last = lastRefresh.get();
        Map<String, DnsServerAddresses> resolverMap = currentMappings;
        if (System.nanoTime() - last > REFRESH_INTERVAL) {
            // This is slightly racy which means it will be possible still use the old configuration for a small
            // amount of time, but that's ok.
            if (lastRefresh.compareAndSet(last, System.nanoTime())) {
                resolverMap = currentMappings = retrieveCurrentMappings();
            }
        }

        final String originalHostname = hostname;
        for (;;) {
            int i = hostname.indexOf('.', 1);
            if (i < 0 || i == hostname.length() - 1) {
                // Try access default mapping.
                DnsServerAddresses addresses = resolverMap.get(StringUtil.EMPTY_STRING);
                if (addresses != null) {
                    return addresses.stream();
                }
                return DnsServerAddressStreamProviders.unixDefault().nameServerAddressStream(originalHostname);
            }

            DnsServerAddresses addresses = resolverMap.get(hostname);
            if (addresses != null) {
                return addresses.stream();
            }

            hostname = hostname.substring(i + 1);
        }
    }

Domain

Subdomains

Frequently Asked Questions

What does DnsServerAddressStream() do?
DnsServerAddressStream() is a function in the netty codebase, defined in resolver-dns-classes-macos/src/main/java/io/netty/resolver/dns/macos/MacOSDnsServerAddressStreamProvider.java.
Where is DnsServerAddressStream() defined?
DnsServerAddressStream() is defined in resolver-dns-classes-macos/src/main/java/io/netty/resolver/dns/macos/MacOSDnsServerAddressStreamProvider.java at line 168.
What does DnsServerAddressStream() call?
DnsServerAddressStream() calls 1 function(s): retrieveCurrentMappings.

Analyze Your Own Codebase

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

Try Supermodel Free