Class Hosts


  • public class Hosts
    extends java.lang.Object
    Object to encapsulate primary host name and shuffled fallback host names. Methods on this class are safe to be called from any thread.
    • Constructor Summary

      Constructors 
      Constructor Description
      Hosts​(java.lang.String primaryHost, java.lang.String defaultHost, ClientOptions options)
      Create Hosts object
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      int fallbackHostsRemaining​(java.lang.String candidateHost)  
      java.lang.String getFallback​(java.lang.String lastHost)
      Get next fallback host if any
      java.lang.String getPreferredHost()
      Get preferred host name (taking into account any affinity to a fallback: see RSC15f)
      java.lang.String getPrimaryHost()
      Get primary host name
      void setPreferredHost​(java.lang.String prefHost, boolean temporary)
      set preferred hostname, which might not be the primary
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Constructor Detail

      • Hosts

        public Hosts​(java.lang.String primaryHost,
                     java.lang.String defaultHost,
                     ClientOptions options)
              throws AblyException
        Create Hosts object
        Parameters:
        primaryHost - the primary hostname, null if not configured
        defaultHost - the default hostname that the primary hostname must match for fallback to occur
        options - ClientOptions to get environment and fallbackHosts from The fallback and environment processing here is used when the Hosts object is used by a ConnectionManager (for a realtime connection) or by an HttpCore for a rest connection. The case where the Hosts object is used by an HttpCore that is being used by a ConnectionManager goes through this code, but the results are ignored because ConnectionManager then calls setHost() and fallback is not used.
        Throws:
        AblyException
    • Method Detail

      • setPreferredHost

        public void setPreferredHost​(java.lang.String prefHost,
                                     boolean temporary)
        set preferred hostname, which might not be the primary
      • getPrimaryHost

        public java.lang.String getPrimaryHost()
        Get primary host name
      • getPreferredHost

        public java.lang.String getPreferredHost()
        Get preferred host name (taking into account any affinity to a fallback: see RSC15f)
      • getFallback

        public java.lang.String getFallback​(java.lang.String lastHost)
        Get next fallback host if any
        Parameters:
        lastHost -
        Returns:
        Successor host that can be used as a fallback. null, if there is no successor fallback available.
      • fallbackHostsRemaining

        public int fallbackHostsRemaining​(java.lang.String candidateHost)