Class Session

  • Direct Known Subclasses:
    GridFTPSession

    public class Session
    extends java.lang.Object
    Represents parameters of an FTP session between a client and a server. For instance, a third party transfer will be represented by two sessions: one between the client and the server A, and the other between the client and the server B.
    Public static variables are interpreted as follows:
    • prefix TYPE denotes transfer type
    • prefix MODE denotes transfer mode
    • prefix SERVER denotes server mode
    • Field Detail

      • transferMode

        public int transferMode
      • transferType

        public int transferType
      • serverMode

        public int serverMode
        Can be SERVER_PASSIVE, SERVER_ACTIVE, or SERVER_DEFAULT. The latter means that the mode has not been set explicitly, so the server should act as default: passive on the standard port L-1.
      • protectionBufferSize

        public int protectionBufferSize
      • authorized

        public boolean authorized
      • serverAddress

        public HostPort serverAddress
      • maxWait

        public int maxWait
        This variable directly affects only the client. After requesting data transfer, client will wait on the control channel maxWait miliseconds, polling for replies every waitDelay seconds. If reply does not arrive after maxWait, client will abort.
      • waitDelay

        public int waitDelay
        This variable directly affects only the client. After requesting data transfer, client will wait on the control channel maxWait miliseconds, polling for replies every waitDelay seconds. If reply does not arrive after maxWait, client will abort.
    • Constructor Detail

      • Session

        public Session()
    • Method Detail

      • matches

        public void matches​(Session other)
                     throws ClientException
        Ensures that settings of 2 servers match each other so that the servers are capable of performing a transfer between themselves. The parameters of both sessions must either both be set correctly, or both undefined.
        Detailed rules: Two sessions match if their transfer type, mode, and protection buffer sizes match. Additionally, if one party is passive, the other must be active. If any of the variables are set to SERVER_DEFAULT, sessions are considered matching.
        Throws:
        ClientException - if sessions do not match
      • compareTransferParams

        protected void compareTransferParams​(Session other)
                                      throws ClientException
        defines how to compare parameters: authorized, PBSZ, MODE, TYPE
        Throws:
        ClientException