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()
DnsServerAddressStream
next
in interface DnsServerAddressStream
public int size()
DnsServerAddressStream
DnsServerAddressStream.next()
will return a distinct element before repeating or terminating.size
in interface DnsServerAddressStream
DnsServerAddressStream.next()
will return a distinct element before repeating or terminating.public ShuffledDnsServerAddressStream duplicate()
DnsServerAddressStream
DnsServerAddressStream.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 DnsServerAddressStream
public java.lang.String toString()
toString
in class java.lang.Object