Package org.apache.zookeeper.client
Interface HostProvider
-
- All Known Implementing Classes:
StaticHostProvider
@Public public interface HostProvider
A set of hosts a ZooKeeper client should connect to. Classes implementing this interface must guarantee the following: * Every call to next() returns an InetSocketAddress. So the iterator never ends. * The size() of a HostProvider may never be zero. A HostProvider must return resolved InetSocketAddress instances on next(), but it's up to the HostProvider, when it wants to do the resolving. Different HostProvider could be imagined: * A HostProvider that loads the list of Hosts from an URL or from DNS * A HostProvider that re-resolves the InetSocketAddress after a timeout. * A HostProvider that prefers nearby hosts.
-
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description java.net.InetSocketAddress
next(long spinDelay)
The next host to try to connect to.void
onConnected()
Notify the HostProvider of a successful connection.int
size()
-
-
-
Method Detail
-
size
int size()
-
next
java.net.InetSocketAddress next(long spinDelay)
The next host to try to connect to. For a spinDelay of 0 there should be no wait.- Parameters:
spinDelay
- Milliseconds to wait if all hosts have been tried once.- Returns:
- The next host to try to connect to with resolved address. If the host is not resolvable, the unresolved address will be returned.
-
onConnected
void onConnected()
Notify the HostProvider of a successful connection. The HostProvider may use this notification to reset it's inner state.
-
-