final class ShuffledDnsServerAddressStream extends java.lang.Object implements DnsServerAddressStream
| Modifier and Type | Field and Description |
|---|---|
private java.net.InetSocketAddress[] |
addresses |
private int |
i |
| Modifier | Constructor and Description |
|---|---|
(package private) |
ShuffledDnsServerAddressStream(java.net.InetSocketAddress[] addresses)
Create a new instance.
|
private |
ShuffledDnsServerAddressStream(java.net.InetSocketAddress[] addresses,
int startIdx) |
| Modifier and Type | Method and Description |
|---|---|
ShuffledDnsServerAddressStream |
duplicate()
Duplicate this object.
|
java.net.InetSocketAddress |
next()
Retrieves the next DNS server address from the stream.
|
private void |
shuffle() |
int |
size()
Get the number of times
DnsServerAddressStream.next() will return a distinct element before repeating or terminating. |
java.lang.String |
toString() |
ShuffledDnsServerAddressStream(java.net.InetSocketAddress[] addresses)
addresses - The addresses are not cloned. It is assumed the caller has cloned this array or otherwise will
not modify the contents.private ShuffledDnsServerAddressStream(java.net.InetSocketAddress[] addresses,
int startIdx)
private void shuffle()
public java.net.InetSocketAddress next()
DnsServerAddressStreamnext in interface DnsServerAddressStreampublic int size()
DnsServerAddressStreamDnsServerAddressStream.next() will return a distinct element before repeating or terminating.size in interface DnsServerAddressStreamDnsServerAddressStream.next() will return a distinct element before repeating or terminating.public ShuffledDnsServerAddressStream duplicate()
DnsServerAddressStreamDnsServerAddressStream.next().
Note that #clone() isn't used because it may make sense for some implementations to have the following
relationship x.duplicate() == x.
duplicate in interface DnsServerAddressStreampublic java.lang.String toString()
toString in class java.lang.Object