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.