Home / Class/ ThreadLocalNameServerAddressStream Class — netty Architecture

ThreadLocalNameServerAddressStream Class — netty Architecture

Architecture documentation for the ThreadLocalNameServerAddressStream class in ThreadLocalNameServerAddressStream.java from the netty codebase.

Entity Profile

Dependency Diagram

graph TD
  ddf771b9_7518_a0c1_6038_a420efff289b["ThreadLocalNameServerAddressStream"]
  0422eb71_37cb_0974_8d8d_3b74475a5fcf["ThreadLocalNameServerAddressStream.java"]
  ddf771b9_7518_a0c1_6038_a420efff289b -->|defined in| 0422eb71_37cb_0974_8d8d_3b74475a5fcf
  98c6f96f_4a5c_9d32_06ee_f122ae09cc31["ThreadLocalNameServerAddressStream()"]
  ddf771b9_7518_a0c1_6038_a420efff289b -->|method| 98c6f96f_4a5c_9d32_06ee_f122ae09cc31
  83b1faf8_0dd7_b586_3a7c_a68c4d01e91b["InetSocketAddress()"]
  ddf771b9_7518_a0c1_6038_a420efff289b -->|method| 83b1faf8_0dd7_b586_3a7c_a68c4d01e91b
  4107ca3f_30d7_3f01_fe76_1f74b69029af["DnsServerAddressStream()"]
  ddf771b9_7518_a0c1_6038_a420efff289b -->|method| 4107ca3f_30d7_3f01_fe76_1f74b69029af
  7da0889a_3797_169c_27d9_29dd3ead59c3["size()"]
  ddf771b9_7518_a0c1_6038_a420efff289b -->|method| 7da0889a_3797_169c_27d9_29dd3ead59c3

Relationship Graph

Source Code

resolver-dns/src/main/java/io/netty/resolver/dns/ThreadLocalNameServerAddressStream.java lines 25–59

final class ThreadLocalNameServerAddressStream implements DnsServerAddressStream {

    private final String hostname;
    private final DnsServerAddressStreamProvider dnsServerAddressStreamProvider;
    private final FastThreadLocal<DnsServerAddressStream> threadLocal = new FastThreadLocal<DnsServerAddressStream>() {
        @Override
        protected DnsServerAddressStream initialValue() {
            return dnsServerAddressStreamProvider.nameServerAddressStream(hostname);
        }
    };

    ThreadLocalNameServerAddressStream(DnsServerAddressStreamProvider dnsServerAddressStreamProvider) {
        this(dnsServerAddressStreamProvider, "");
    }

    ThreadLocalNameServerAddressStream(DnsServerAddressStreamProvider dnsServerAddressStreamProvider, String hostname) {
        this.dnsServerAddressStreamProvider = dnsServerAddressStreamProvider;
        this.hostname = hostname;
    }

    @Override
    public InetSocketAddress next() {
        return threadLocal.get().next();
    }

    @Override
    public DnsServerAddressStream duplicate() {
        return new ThreadLocalNameServerAddressStream(dnsServerAddressStreamProvider, hostname);
    }

    @Override
    public int size() {
        return threadLocal.get().size();
    }
}

Frequently Asked Questions

What is the ThreadLocalNameServerAddressStream class?
ThreadLocalNameServerAddressStream is a class in the netty codebase, defined in resolver-dns/src/main/java/io/netty/resolver/dns/ThreadLocalNameServerAddressStream.java.
Where is ThreadLocalNameServerAddressStream defined?
ThreadLocalNameServerAddressStream is defined in resolver-dns/src/main/java/io/netty/resolver/dns/ThreadLocalNameServerAddressStream.java at line 25.

Analyze Your Own Codebase

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

Try Supermodel Free