Class Hosts

java.lang.Object
io.ably.lib.transport.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

    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 Details

    • 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 Details

    • 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)