Package io.netty.resolver.dns
Class ShuffledDnsServerAddressStream
- java.lang.Object
-
- io.netty.resolver.dns.ShuffledDnsServerAddressStream
-
- All Implemented Interfaces:
DnsServerAddressStream
final class ShuffledDnsServerAddressStream extends java.lang.Object implements DnsServerAddressStream
-
-
Constructor Summary
Constructors Modifier Constructor Description (package private)
ShuffledDnsServerAddressStream(java.util.List<java.net.InetSocketAddress> addresses)
Create a new instance.private
ShuffledDnsServerAddressStream(java.util.List<java.net.InetSocketAddress> addresses, int startIdx)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method 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 timesDnsServerAddressStream.next()
will return a distinct element before repeating or terminating.java.lang.String
toString()
-
-
-
Constructor Detail
-
ShuffledDnsServerAddressStream
ShuffledDnsServerAddressStream(java.util.List<java.net.InetSocketAddress> addresses)
Create a new instance.- Parameters:
addresses
- The addresses are not cloned. It is assumed the caller has cloned this array or otherwise will not modify the contents.
-
ShuffledDnsServerAddressStream
private ShuffledDnsServerAddressStream(java.util.List<java.net.InetSocketAddress> addresses, int startIdx)
-
-
Method Detail
-
shuffle
private void shuffle()
-
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
-
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.
-
duplicate
public ShuffledDnsServerAddressStream 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.
-
toString
public java.lang.String toString()
- Overrides:
toString
in classjava.lang.Object
-
-