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 DnsServerAddressStreamProvider
dnsServerAddressStreamProvider
private java.lang.String
hostname
private 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 DnsServerAddressStream
duplicate()
Duplicate this object.java.net.InetSocketAddress
next()
Retrieves the next DNS server address from the stream.int
size()
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:DnsServerAddressStream
Retrieves the next DNS server address from the stream.- Specified by:
next
in interfaceDnsServerAddressStream
-
duplicate
public DnsServerAddressStream duplicate()
Description copied from interface:DnsServerAddressStream
Duplicate 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:
duplicate
in interfaceDnsServerAddressStream
- Returns:
- A duplicate of this object.
-
size
public int size()
Description copied from interface:DnsServerAddressStream
Get the number of timesDnsServerAddressStream.next()
will return a distinct element before repeating or terminating.- Specified by:
size
in interfaceDnsServerAddressStream
- Returns:
- the number of times
DnsServerAddressStream.next()
will return a distinct element before repeating or terminating.
-
-