Interface SeeOtherHostIfc

All Superinterfaces:
Lifecycle
All Known Implementing Classes:
SeeOtherHost, SeeOtherHostDB, SeeOtherHostDualIP, SeeOtherHostHashed

public interface SeeOtherHostIfc extends Lifecycle
Author:
Wojtek
  • Field Details

  • Method Details

    • findHostForJID

      BareJID findHostForJID(BareJID jid, BareJID host)
      Finds an appropriate host for a given JID
      Parameters:
      jid - is a user JID extracted from the stream open attributes
      host - is "this" host to which the user is now connected and which calls the method
      Returns:
      BareJID of possible host to which the user should connect or NULL
    • setNodes

      void setNodes(List<JID> nodes)
      Sets list of available nodes in cluster environment
      Parameters:
      nodes - current list of nodes
    • getStreamError

      default Element getStreamError(String xmlns, BareJID destination, Integer port)
      Returns Element object containing stream:error message
      Parameters:
      xmlns - xml namespace of the element
      destination - BareJID address of the redirect destination
      Returns:
      element containing stream:error message
    • isEnabled

      boolean isEnabled(VHostItem vHost, SeeOtherHostIfc.Phase ph)
      Performs check whether redirect is enabled in the given phase by default see-other-host redirect is only active in stream:open phase
      Parameters:
      vHost - vHost for which redirection should be performed
      ph - phase for which the check should be performed
      Returns:
      boolean value indicating whether to perform or not redirect for the phase passed as argument
    • isRedirectionRequired

      default boolean isRedirectionRequired(BareJID defaultHost, BareJID redirectionHost)
      Method validates whether a redirection for a particular hostname and resulting redirection hastname is required
      Parameters:
      defaultHost - default hostname of the particular machine
      redirectionHost - destination hostname
      Returns:
      true if the redirection is required, otherwise false