Package io.netty.resolver.dns
Class ThreadLocalNameServerAddressStream
- java.lang.Object
-
- io.netty.resolver.dns.ThreadLocalNameServerAddressStream
-
- All Implemented Interfaces:
DnsServerAddressStream
final class ThreadLocalNameServerAddressStream extends java.lang.Object implements DnsServerAddressStream
A thread local based address stream for a specific hostname.
-
-
Field Summary
Fields Modifier and Type Field Description private DnsServerAddressStreamProviderdnsServerAddressStreamProviderprivate java.lang.Stringhostnameprivate FastThreadLocal<DnsServerAddressStream>threadLocal
-
Constructor Summary
Constructors Constructor Description ThreadLocalNameServerAddressStream(DnsServerAddressStreamProvider dnsServerAddressStreamProvider)ThreadLocalNameServerAddressStream(DnsServerAddressStreamProvider dnsServerAddressStreamProvider, java.lang.String hostname)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description DnsServerAddressStreamduplicate()Duplicate this object.java.net.InetSocketAddressnext()Retrieves the next DNS server address from the stream.intsize()Get the number of timesDnsServerAddressStream.next()will return a distinct element before repeating or terminating.
-
-
-
Field Detail
-
hostname
private final java.lang.String hostname
-
dnsServerAddressStreamProvider
private final DnsServerAddressStreamProvider dnsServerAddressStreamProvider
-
threadLocal
private final FastThreadLocal<DnsServerAddressStream> threadLocal
-
-
Constructor Detail
-
ThreadLocalNameServerAddressStream
ThreadLocalNameServerAddressStream(DnsServerAddressStreamProvider dnsServerAddressStreamProvider)
-
ThreadLocalNameServerAddressStream
ThreadLocalNameServerAddressStream(DnsServerAddressStreamProvider dnsServerAddressStreamProvider, java.lang.String hostname)
-
-
Method Detail
-
next
public java.net.InetSocketAddress next()
Description copied from interface:DnsServerAddressStreamRetrieves the next DNS server address from the stream.- Specified by:
nextin interfaceDnsServerAddressStream
-
duplicate
public DnsServerAddressStream duplicate()
Description copied from interface:DnsServerAddressStreamDuplicate this object. The result of this should be able to be independently iterated over viaDnsServerAddressStream.next().Note that
#clone()isn't used because it may make sense for some implementations to have the following relationshipx.duplicate() == x.- Specified by:
duplicatein interfaceDnsServerAddressStream- Returns:
- A duplicate of this object.
-
size
public int size()
Description copied from interface:DnsServerAddressStreamGet the number of timesDnsServerAddressStream.next()will return a distinct element before repeating or terminating.- Specified by:
sizein interfaceDnsServerAddressStream- Returns:
- the number of times
DnsServerAddressStream.next()will return a distinct element before repeating or terminating.
-
-