Interface SeeOtherHostIfc

    • Method Detail

      • 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