Interface IncomingServerSession

  • All Superinterfaces:
    ChannelHandler<org.xmpp.packet.Packet>, RoutableChannelHandler, ServerSession, Session
    All Known Implementing Classes:
    LocalIncomingServerSession, RemoteIncomingServerSession

    public interface IncomingServerSession
    extends ServerSession
    Server-to-server communication is done using two TCP connections between the servers. One connection is used for sending packets while the other connection is used for receiving packets. The IncomingServerSession represents the connection to a remote server that will only be used for receiving packets.

    Currently only the Server Dialback method is being used for authenticating the remote server. Once the remote server has been authenticated incoming packets will be processed by this server. It is also possible for remote servers to authenticate more domains once the session has been established. For optimization reasons the existing connection is used between the servers. Therefore, the incoming server session holds the list of authenticated domains which are allowed to send packets to this server.

    Using the Server Dialback method it is possible that this server may also act as the Authoritative Server. This implies that an incoming connection will be established with this server for authenticating a domain. This incoming connection will only last for a brief moment and after the domain has been authenticated the connection will be closed and no session will exist.

    Author:
    Gaston Dombiak
    • Method Detail

      • getValidatedDomains

        Collection<String> getValidatedDomains()
        Returns a collection with all the domains, subdomains and virtual hosts that where validated. The remote server is allowed to send packets from any of these domains, subdomains and virtual hosts.
        Returns:
        domains, subdomains and virtual hosts that where validated.
      • getLocalDomain

        String getLocalDomain()
        Returns the domain or subdomain of the local server used by the remote server when validating the session. This information is only used to prevent many connections from the same remote server to the same domain or subdomain of the local server.
        Returns:
        the domain or subdomain of the local server used by the remote server when validating the session.