Class FCClientEngineHTTP

  • All Implemented Interfaces:
    java.lang.AutoCloseable, java.util.Observer, unlimited.core.transfers.io.FCClientEngineBridge, unlimited.core.transfers.TransferHandler, unlimited.core.transfers.UDPTransferMetrics, unlimited.core.util.common.version.KnowsRemoteServiceVersionInterface

    public class FCClientEngineHTTP
    extends FCClientEngine
    • Constructor Detail

      • FCClientEngineHTTP

        public FCClientEngineHTTP​(java.lang.String host,
                                  int port,
                                  java.lang.String serfoLocation,
                                  unlimited.core.util.common.logs.LogUtils log)
                           throws java.io.IOException
        Throws:
        java.io.IOException
      • FCClientEngineHTTP

        public FCClientEngineHTTP​(java.lang.String host,
                                  int port,
                                  java.lang.String serfoLocation,
                                  java.lang.String sid,
                                  unlimited.core.util.common.logs.LogUtils log)
                           throws java.io.IOException
        Throws:
        java.io.IOException
      • FCClientEngineHTTP

        public FCClientEngineHTTP​(java.lang.String host,
                                  int port,
                                  java.lang.String serfoLocation,
                                  java.lang.String sid,
                                  unlimited.core.util.common.logs.LogUtils log,
                                  boolean isPrintSolution)
                           throws java.io.IOException
        Throws:
        java.io.IOException
    • Method Detail

      • noop

        public void noop()
                  throws unlimited.core.util.common.exception.FCException,
                         java.io.IOException
        Description copied from class: FCClientEngine
        Send a NOOP command
        Overrides:
        noop in class FCClientEngine
        Throws:
        unlimited.core.util.common.exception.FCException
        java.io.IOException
      • pwd

        public java.lang.String pwd()
                             throws unlimited.core.util.common.exception.FCException,
                                    java.io.IOException
        Description copied from class: FCClientEngine
        Get the current remote working directory
        Overrides:
        pwd in class FCClientEngine
        Returns:
        the current working directory
        Throws:
        unlimited.core.util.common.exception.FCException
        java.io.IOException
      • put

        public void put​(UploadTransferRequestData data)
                 throws java.io.IOException,
                        unlimited.core.util.common.exception.FCException
        Put a local file onto the FileCatalyst server. It is placed in the current directory. Allows appending if current file exists
        Overrides:
        put in class FCClientEngine
        Parameters:
        localPath - path of the local file
        remoteFile - name of remote file in current directory
        outRate - sending bandwidth
        numDFEncoders - number of DF encoders to be used
        append - true if appending, false otherwise
        Throws:
        java.io.IOException
        unlimited.core.util.common.exception.FCException
      • getIdealTransferMode

        protected int getIdealTransferMode​(int rate,
                                           long length)
      • putHTTP

        protected void putHTTP​(java.nio.file.Path file,
                               java.lang.String remoteFile,
                               long sfSize,
                               long offset,
                               boolean append,
                               int targetBandwidth)
                        throws java.io.IOException,
                               unlimited.core.util.common.exception.FCException,
                               java.io.IOException
        Throws:
        java.io.IOException
        unlimited.core.util.common.exception.FCException
      • moveFilesToServer

        public void moveFilesToServer​(java.lang.String remoteFile)
                               throws unlimited.core.util.common.exception.FCException,
                                      java.io.IOException
        Throws:
        unlimited.core.util.common.exception.FCException
        java.io.IOException
      • getHTTP

        public void getHTTP​(DownloadTransferRequestData requestData)
                     throws java.io.IOException,
                            unlimited.core.util.common.exception.FCException,
                            java.io.IOException
        Overrides:
        getHTTP in class FCClientEngine
        Throws:
        java.io.IOException
        unlimited.core.util.common.exception.FCException
      • size

        public java.lang.String size​(java.lang.String fileName)
                              throws java.io.IOException,
                                     unlimited.core.util.common.exception.FCException
        Throws:
        java.io.IOException
        unlimited.core.util.common.exception.FCException
      • size

        public java.lang.String size​(java.lang.String fileName,
                                     boolean bypassCache)
                              throws java.io.IOException,
                                     unlimited.core.util.common.exception.FCException
        Description copied from class: FCClientEngine
        Get the size of the named file from the remote server.
        Specified by:
        size in interface unlimited.core.transfers.io.FCClientEngineBridge
        Overrides:
        size in class FCClientEngine
        Parameters:
        fileName - name of the file
        Returns:
        the size of the file
        Throws:
        java.io.IOException
        unlimited.core.util.common.exception.FCException
      • cdup

        public void cdup()
                  throws java.io.IOException,
                         unlimited.core.util.common.exception.FCException
        Description copied from class: FCClientEngine
        Change to the parent directory
        Overrides:
        cdup in class FCClientEngine
        Throws:
        java.io.IOException
        unlimited.core.util.common.exception.FCException
      • chdir

        public void chdir​(java.lang.String dir)
                   throws java.io.IOException,
                          unlimited.core.util.common.exception.FCException
        Description copied from class: FCClientEngine
        Change the remote working directory to that supplied
        Overrides:
        chdir in class FCClientEngine
        Parameters:
        dir - name of remote directory to change to
        Throws:
        java.io.IOException
        unlimited.core.util.common.exception.FCException
      • deleteAll

        public void deleteAll​(java.util.List<java.lang.String> remoteFiles)
                       throws java.io.IOException,
                              unlimited.core.util.common.exception.FCException
        Description copied from class: FCClientEngine
        Bulk delete, deletes all the specified files in a single command. The server returns intermediate replies to keep the connection alive during a long delete
        Overrides:
        deleteAll in class FCClientEngine
        Parameters:
        remoteFiles - files to delete
        Throws:
        java.io.IOException
        unlimited.core.util.common.exception.FCException
      • deleteAll

        public void deleteAll​(FileListData remoteFiles,
                              boolean ftpDelete)
                       throws unlimited.core.util.common.exception.FCException,
                              java.io.IOException
        Overrides:
        deleteAll in class FCClientEngine
        Throws:
        unlimited.core.util.common.exception.FCException
        java.io.IOException
      • delete

        public void delete​(java.lang.String remoteFile)
                    throws java.io.IOException,
                           unlimited.core.util.common.exception.FCException
        Description copied from class: FCClientEngine
        Delete the specified remote file
        Overrides:
        delete in class FCClientEngine
        Parameters:
        remoteFile - name of remote file to delete
        Throws:
        java.io.IOException
        unlimited.core.util.common.exception.FCException
      • setup

        public void setup​(java.util.function.Supplier<ClientCredentials> credentials)
                   throws java.io.IOException,
                          unlimited.core.util.common.exception.FCException
        Description copied from class: FCClientEngine
        Login into an account on the FileCatalyst server. This call completes the entire login process Note that we only use the User/Pass if we haven't set the tokens on this client. If we have tokens we call that method.
        Overrides:
        setup in class FCClientEngine
        Throws:
        java.io.IOException
        unlimited.core.util.common.exception.FCException
      • detectFCServer

        public void detectFCServer()
                            throws java.io.IOException,
                                   unlimited.core.util.common.exception.FCException
        Overrides:
        detectFCServer in class FCClientEngine
        Throws:
        java.io.IOException
        unlimited.core.util.common.exception.FCException
      • mkdir

        public void mkdir​(java.lang.String dir)
                   throws java.io.IOException,
                          unlimited.core.util.common.exception.FCException
        Description copied from class: FCClientEngine
        Create the specified remote working directory
        Overrides:
        mkdir in class FCClientEngine
        Throws:
        java.io.IOException
        unlimited.core.util.common.exception.FCException
      • rmdir

        public void rmdir​(java.lang.String dir)
                   throws java.io.IOException,
                          unlimited.core.util.common.exception.FCException
        Description copied from class: FCClientEngine
        Delete the specified remote working directory
        Overrides:
        rmdir in class FCClientEngine
        Parameters:
        dir - name of remote directory to delete
        Throws:
        java.io.IOException
        unlimited.core.util.common.exception.FCException
      • rmdirRecursive

        public void rmdirRecursive​(FileListDataItem item)
                            throws unlimited.core.util.common.exception.FCException,
                                   java.io.IOException
        Recursively delete a remote folder
        Overrides:
        rmdirRecursive in class FCClientEngine
        Parameters:
        item -
        Throws:
        java.io.IOException
        unlimited.core.util.common.exception.FCException
        java.lang.Exception
      • fileSystemEvents

        public java.util.ArrayList<FileSystemEvent> fileSystemEvents​(long timeout)
                                                              throws java.io.IOException,
                                                                     unlimited.core.util.common.exception.FCException
        Get a list of file system events from the server
        Overrides:
        fileSystemEvents in class FCClientEngine
        Returns:
        String a list of file system events from the server
        Throws:
        java.io.IOException
        unlimited.core.util.common.exception.FCException
      • rename

        public void rename​(java.lang.String from,
                           java.lang.String to)
                    throws java.io.IOException,
                           unlimited.core.util.common.exception.FCException
        Description copied from class: FCClientEngine
        Rename a file or directory
        Overrides:
        rename in class FCClientEngine
        Parameters:
        from - name of file or directory to rename
        to - intended name
        Throws:
        java.io.IOException
        unlimited.core.util.common.exception.FCException
      • site

        public boolean site​(java.lang.String command)
                     throws java.io.IOException,
                            unlimited.core.util.common.exception.FCException
        Description copied from class: FCClientEngine
        Run a site-specific command on the server. Support for commands is dependent on the server
        Overrides:
        site in class FCClientEngine
        Parameters:
        command - the site command to run
        Returns:
        true if command ok, false if command not implemented
        Throws:
        java.io.IOException
        unlimited.core.util.common.exception.FCException
      • quit

        public void quit()
                  throws java.io.IOException,
                         unlimited.core.util.common.exception.FCException
        Description copied from class: FCClientEngine
        Quit the FileCatalyst session
        Overrides:
        quit in class FCClientEngine
        Throws:
        java.io.IOException
        unlimited.core.util.common.exception.FCException
      • quote

        public void quote​(java.lang.String command,
                          java.lang.String[] validCodes)
                   throws java.io.IOException,
                          unlimited.core.util.common.exception.FCException
        Description copied from class: FCClientEngine
        Issue arbitrary FileCatalyst commands to the FileCatalyst server.
        Specified by:
        quote in interface unlimited.core.transfers.io.FCClientEngineBridge
        Overrides:
        quote in class FCClientEngine
        Parameters:
        command - command to be sent to server
        validCodes - valid return codes for this command
        Throws:
        java.io.IOException
        unlimited.core.util.common.exception.FCException
      • mkfile

        public void mkfile​(java.lang.String file)
                    throws java.io.IOException,
                           unlimited.core.util.common.exception.FCException
        Description copied from class: FCClientEngine
        Create the specified remote working directory
        Overrides:
        mkfile in class FCClientEngine
        Throws:
        java.io.IOException
        unlimited.core.util.common.exception.FCException
      • filter

        public void filter​(FileCatalystFileFilter<?> filter)
                    throws java.io.IOException
        Description copied from class: FCClientEngine
        Initializes the file filter on the server. This filter is applied to the next listing that is requested from the server. It is immediately reset by the server after each listing. Therefore it should be reset each time a listing is done if needed.
        Overrides:
        filter in class FCClientEngine
        Parameters:
        filter - Filter object containing the data that you wish to filter on
        Throws:
        java.io.IOException
      • filter

        public void filter​(long olderThan,
                           long newerThan,
                           long upperByteLimit,
                           long lowerByteLimit,
                           java.lang.String filterString,
                           int filterMode,
                           boolean applyFilterToDirectories)
                    throws java.io.IOException,
                           unlimited.core.util.common.exception.FCException
        Initializes the file filter on the server. THis filter is applied to the next listing that is requested from the server. It is immediately reset by the server after each listing. Therefore it should be reset each time a listing is done if needed.
        Overrides:
        filter in class FCClientEngine
        Parameters:
        olderThan -
        newerThan -
        upperByteLimit -
        lowerByteLimit -
        filterString -
        filterMode -
        Throws:
        java.io.IOException
        unlimited.core.util.common.exception.FCException
      • mksig

        public java.lang.String mksig​(java.lang.String srcfile,
                                      java.lang.String uniqueID)
                               throws java.io.IOException,
                                      unlimited.core.util.common.exception.FCException
        Overrides:
        mksig in class FCClientEngine
        Throws:
        java.io.IOException
        unlimited.core.util.common.exception.FCException
      • mksig

        public java.lang.String mksig​(java.lang.String srcfile,
                                      boolean compress,
                                      java.lang.String uniqueID)
                               throws java.io.IOException,
                                      unlimited.core.util.common.exception.FCException
        Overrides:
        mksig in class FCClientEngine
        Parameters:
        srcfile - String Name of the source file.
        compress - boolean Compress flag for the signature. Default false (value currently ignored in v2.4.2)
        uniqueID - String Unique identifier for the delta transfer
        Returns:
        String reply from target. if target < v2.4.2 will return: block size if target >= v2.4.2 will return: block size + " " + "unique file name"
        Throws:
        java.io.IOException
        unlimited.core.util.common.exception.FCException
      • mkdlt

        public void mkdlt​(java.lang.String srcfile,
                          java.lang.String sigfile,
                          int blockLength,
                          boolean compress,
                          int compLevel,
                          int strategy)
                   throws java.io.IOException,
                          unlimited.core.util.common.exception.FCException
        Called by ReceiverHandler to create a delta file remotely. Legacy call -- pre v2.4.2. Does not include a UNIQUEID, so multiple concurrent delta calculations on the same file may corrupt it.
        Overrides:
        mkdlt in class FCClientEngine
        Parameters:
        srcfile - String
        sigfile - String
        blockLength - int
        compress - boolean
        compLevel - int
        strategy - int
        Throws:
        java.io.IOException
        unlimited.core.util.common.exception.FCException
      • mkdlt

        public void mkdlt​(java.lang.String srcfile,
                          java.lang.String sigfile,
                          int blockLength,
                          boolean compress,
                          int compLevel,
                          int strategy,
                          java.lang.String uniqueID,
                          boolean waitForDeltaCreation)
                   throws java.io.IOException,
                          unlimited.core.util.common.exception.FCException
        Called by ReceiverHandler to create a delta file remotely. Uses UNIQUEID, to allow concurrent deltas to be created on the same file. v2.4.2+.
        Overrides:
        mkdlt in class FCClientEngine
        Parameters:
        srcfile - String
        sigfile - String
        blockLength - int
        compress - boolean
        compLevel - int
        strategy - int
        uniqueID - String
        Throws:
        java.io.IOException
        unlimited.core.util.common.exception.FCException
      • rbfil

        public java.lang.String rbfil​(java.lang.String srcfile,
                                      java.lang.String deltafile,
                                      int blockLength,
                                      boolean compress,
                                      int level,
                                      boolean uniqueName)
                               throws java.io.IOException,
                                      unlimited.core.util.common.exception.FCException
        Overrides:
        rbfil in class FCClientEngine
        Parameters:
        srcfile -
        deltafile -
        blockLength - int
        compress - boolean
        level - int
        uniqueName - boolean
        Returns:
        String The remote filename, may be the original destination, or a unique name.
        Throws:
        java.io.IOException
        unlimited.core.util.common.exception.FCException
      • setTimeout

        public void setTimeout​(int millis)
                        throws java.net.SocketException
        Throws:
        java.net.SocketException
      • getMD5

        public java.lang.String getMD5​(java.lang.String remoteFile,
                                       long offset,
                                       long length)
                                throws java.io.IOException,
                                       unlimited.core.util.common.exception.FCException
        Request the MD5 digest of the remote file
        Overrides:
        getMD5 in class FCClientEngine
        Parameters:
        remoteFile - name of remote file to delete
        Throws:
        java.io.IOException
        unlimited.core.util.common.exception.FCException
      • prms

        public java.lang.String[] prms​(java.lang.String fileName)
                                throws java.io.IOException,
                                       unlimited.core.util.common.exception.FCException
        Description copied from class: FCClientEngine
        Return the file permission of the file/directory listed in the argument from the remote server.
        Overrides:
        prms in class FCClientEngine
        Parameters:
        fileName - name of the file
        Returns:
        permissions
        Throws:
        java.io.IOException
        unlimited.core.util.common.exception.FCException
      • getMD5

        public java.lang.String getMD5​(java.lang.String remoteFile)
                                throws java.io.IOException,
                                       unlimited.core.util.common.exception.FCException
        Description copied from class: FCClientEngine
        Request the MD5 digest of the remote file
        Overrides:
        getMD5 in class FCClientEngine
        Parameters:
        remoteFile - name of remote file to delete
        Throws:
        java.io.IOException
        unlimited.core.util.common.exception.FCException
      • performSyncedMD5

        protected java.lang.String performSyncedMD5​(java.lang.String md5Command)
                                             throws java.io.IOException,
                                                    unlimited.core.util.common.exception.FCException
        Overrides:
        performSyncedMD5 in class FCClientEngine
        Throws:
        java.io.IOException
        unlimited.core.util.common.exception.FCException
      • performAsyncMD5

        protected java.lang.String performAsyncMD5​(java.lang.String md5Command)
                                            throws java.io.IOException
        Overrides:
        performAsyncMD5 in class FCClientEngine
        Throws:
        java.io.IOException
      • serverPostProcess

        public void serverPostProcess​(java.lang.String file)
                               throws java.io.IOException,
                                      unlimited.core.util.common.exception.FCException
        Description copied from class: FCClientEngine
        Execute post processing on the specified file
        Overrides:
        serverPostProcess in class FCClientEngine
        Parameters:
        file - The file on which to perform post processing
        Throws:
        java.io.IOException
        unlimited.core.util.common.exception.FCException
      • modtime

        public void modtime​(java.lang.String remoteFile,
                            java.util.Date d)
                     throws java.io.IOException,
                            unlimited.core.util.common.exception.FCException
        Description copied from class: FCClientEngine
        Set modification time for a remote file
        Overrides:
        modtime in class FCClientEngine
        Parameters:
        remoteFile - name of remote file
        Throws:
        java.io.IOException
        unlimited.core.util.common.exception.FCException
      • modtime

        public java.util.Date modtime​(java.lang.String remoteFile)
                               throws java.io.IOException,
                                      unlimited.core.util.common.exception.FCException
        Description copied from class: FCClientEngine
        Get modification time for a remote file
        Overrides:
        modtime in class FCClientEngine
        Parameters:
        remoteFile - name of remote file
        Returns:
        modification time of file as a date
        Throws:
        java.io.IOException
        unlimited.core.util.common.exception.FCException
      • modtime

        public java.util.Date modtime​(java.lang.String remoteFile,
                                      boolean bypassCache)
                               throws java.io.IOException,
                                      unlimited.core.util.common.exception.FCException
        Get modification time for a remote file
        Overrides:
        modtime in class FCClientEngine
        Parameters:
        remoteFile - name of remote file
        Returns:
        modification time of file as a date
        Throws:
        java.io.IOException
        unlimited.core.util.common.exception.FCException
      • isHttp

        public boolean isHttp()
        should be overridden in FCClientEngineHTTP and return true
        Overrides:
        isHttp in class FCClientEngine
        Returns:
      • innerSyst

        public java.lang.String innerSyst()
                                   throws java.io.IOException,
                                          unlimited.core.util.common.exception.FCException
        Overrides:
        innerSyst in class FCClientEngine
        Throws:
        java.io.IOException
        unlimited.core.util.common.exception.FCException
      • cancelTransfer

        public boolean cancelTransfer()
        Description copied from class: FCClientEngine
        Cancels the current transfer, if one is occurring
        Specified by:
        cancelTransfer in interface unlimited.core.transfers.TransferHandler
        Overrides:
        cancelTransfer in class FCClientEngine
      • isTransferCancelled

        public boolean isTransferCancelled()
        Specified by:
        isTransferCancelled in interface unlimited.core.transfers.TransferHandler
        Overrides:
        isTransferCancelled in class FCClientEngine
        Returns:
        true if a transfer was cancelled
      • doDirStream

        public java.util.stream.Stream<FileListDataItem> doDirStream​(DirListParams params)
                                                              throws unlimited.core.util.common.exception.FCException,
                                                                     java.io.IOException,
                                                                     java.net.SocketException,
                                                                     java.io.UnsupportedEncodingException
        Overrides:
        doDirStream in class FCClientEngine
        Throws:
        unlimited.core.util.common.exception.FCException
        java.io.IOException
        java.net.SocketException
        java.io.UnsupportedEncodingException
      • isServerTimeout

        public boolean isServerTimeout()
                                throws unlimited.core.util.common.exception.FCException
        Overrides:
        isServerTimeout in class FCClientEngine
        Throws:
        unlimited.core.util.common.exception.FCException
      • zip

        public void zip​(java.lang.String zipFilename,
                        java.util.List remoteFiles,
                        long zipSizeLimit,
                        boolean waitForZipCreation,
                        boolean needsRecurse)
                 throws java.io.IOException,
                        unlimited.core.util.common.exception.FCException
        Overrides:
        zip in class FCClientEngine
        Throws:
        java.io.IOException
        unlimited.core.util.common.exception.FCException
      • isDeltasStillGrowing

        public boolean isDeltasStillGrowing()
                                     throws unlimited.core.util.common.exception.FCException,
                                            java.io.IOException
        Overrides:
        isDeltasStillGrowing in class FCClientEngine
        Throws:
        unlimited.core.util.common.exception.FCException
        java.io.IOException
      • isZipStillGrowing

        public boolean isZipStillGrowing​(java.lang.String zipFileName)
                                  throws unlimited.core.util.common.exception.FCException,
                                         java.io.IOException
        Overrides:
        isZipStillGrowing in class FCClientEngine
        Throws:
        unlimited.core.util.common.exception.FCException
        java.io.IOException
      • isZipStillExtracting

        public boolean isZipStillExtracting()
                                     throws unlimited.core.util.common.exception.FCException,
                                            java.io.IOException
        Overrides:
        isZipStillExtracting in class FCClientEngine
        Throws:
        unlimited.core.util.common.exception.FCException
        java.io.IOException
      • unzip

        public void unzip​(java.lang.String remoteFile,
                          boolean maintainPermissions,
                          boolean maintainTimeStamp)
                   throws java.io.IOException,
                          unlimited.core.util.common.exception.FCException
        Description copied from class: FCClientEngine
        Request that a file on the server be unzipped
        Overrides:
        unzip in class FCClientEngine
        Parameters:
        remoteFile - name of remote file to unzip
        Throws:
        java.io.IOException
        unlimited.core.util.common.exception.FCException
      • sendEmail

        public void sendEmail​(java.lang.String emailAddress,
                              int statusCode,
                              java.lang.String note)
                       throws java.io.IOException,
                              unlimited.core.util.common.exception.FCException
        Instruct the server to send an email to the administrator
        Overrides:
        sendEmail in class FCClientEngine
        Parameters:
        email - the senders email address
        code - the constant code representing the transfer status
        Throws:
        java.io.IOException
        unlimited.core.util.common.exception.FCException
      • getServletMultiplier

        public int getServletMultiplier()
      • setServletMultiplier

        public void setServletMultiplier​(int servletMultiplier)
      • reconnect

        public void reconnect()
                       throws unlimited.core.util.common.exception.FCException,
                              java.io.IOException
        Throws:
        unlimited.core.util.common.exception.FCException
        java.io.IOException
      • getIsPrintSolution

        public boolean getIsPrintSolution()
      • setIsPrintSolution

        public void setIsPrintSolution​(boolean isPrintSolution)
      • testApproximateUploadSpeed

        public int testApproximateUploadSpeed()
                                       throws unlimited.core.util.common.exception.FCException,
                                              java.io.IOException
        Description copied from class: FCClientEngine
        Performs a quick test to determine the approximate upload speed to the connected server.
        Overrides:
        testApproximateUploadSpeed in class FCClientEngine
        Returns:
        int the rate detected in Kbps
        Throws:
        unlimited.core.util.common.exception.FCException
        java.io.IOException
      • testApproximateDownloadSpeed

        public int testApproximateDownloadSpeed()
                                         throws unlimited.core.util.common.exception.FCException,
                                                java.io.IOException
        Description copied from class: FCClientEngine
        Performs a quick test to determine the approximate download speed to the connected server.
        Overrides:
        testApproximateDownloadSpeed in class FCClientEngine
        Returns:
        int the rate detected in Kbps
        Throws:
        unlimited.core.util.common.exception.FCException
        java.io.IOException
      • testMaximumUploadSpeed

        public int testMaximumUploadSpeed()
                                   throws unlimited.core.util.common.exception.FCException,
                                          java.io.IOException
        Description copied from class: FCClientEngine
        Performs a quick test to determine the approximate upload speed to the connected server.
        Overrides:
        testMaximumUploadSpeed in class FCClientEngine
        Returns:
        int the rate detected in Kbps
        Throws:
        unlimited.core.util.common.exception.FCException
        java.io.IOException
      • testMaximumDownloadSpeed

        public int testMaximumDownloadSpeed()
                                     throws unlimited.core.util.common.exception.FCException,
                                            java.io.IOException
        Description copied from class: FCClientEngine
        Performs a quick test to determine the approximate download speed to the connected server.
        Overrides:
        testMaximumDownloadSpeed in class FCClientEngine
        Returns:
        int the rate detected in Kbps
        Throws:
        unlimited.core.util.common.exception.FCException
        java.io.IOException
      • createPatch

        public java.lang.String createPatch​(java.lang.String remoteFile,
                                            long offset,
                                            long length)
                                     throws java.io.IOException,
                                            unlimited.core.util.common.exception.FCException
        Creates a new patch file on the remote server that contains the bytes from offset to offeset+length of remoteFile
        Overrides:
        createPatch in class FCClientEngine
        Parameters:
        remoteFile -
        offset -
        length -
        Returns:
        Throws:
        java.io.IOException
        unlimited.core.util.common.exception.FCException
      • applyPatch

        public void applyPatch​(java.lang.String remoteFile,
                               java.lang.String remotePatch,
                               long offset)
                        throws java.io.IOException,
                               unlimited.core.util.common.exception.FCException
        Applies a patch file on the remote server to the specified file at the specified offset
        Overrides:
        applyPatch in class FCClientEngine
        Parameters:
        remoteFile -
        remotePatch -
        offset -
        Throws:
        java.io.IOException
        unlimited.core.util.common.exception.FCException
      • remoteTransferStatus

        public java.lang.String remoteTransferStatus()
                                              throws unlimited.core.util.common.exception.FCException,
                                                     java.io.IOException
        Overrides:
        remoteTransferStatus in class FCClientEngine
        Throws:
        unlimited.core.util.common.exception.FCException
        java.io.IOException
      • sendWeblink

        public WeblinkResult sendWeblink​(WeblinkDataContainer linkDO)
                                  throws unlimited.core.util.common.exception.FCException,
                                         java.io.IOException
        Description copied from class: FCClientEngine
        Creates A Weblink From The Data Container Given
        Overrides:
        sendWeblink in class FCClientEngine
        Parameters:
        linkDO - - Data Container Containing Data For The Link
        Throws:
        unlimited.core.util.common.exception.FCException
        java.io.IOException
      • sendTransmitRateCommand

        protected void sendTransmitRateCommand​(int targetRate,
                                               int startRate)
                                        throws java.io.IOException
        Overrides:
        sendTransmitRateCommand in class FCClientEngine
        Throws:
        java.io.IOException
      • isSSL

        public boolean isSSL()
      • getForceFileOwnerConfig

        public unlimited.core.util.common.forceFileOwnership.ForceFileOwnershipConfig getForceFileOwnerConfig()
        Specified by:
        getForceFileOwnerConfig in interface unlimited.core.transfers.io.FCClientEngineBridge
        Overrides:
        getForceFileOwnerConfig in class FCClientEngine
      • setForceFileOwnerConfig

        public void setForceFileOwnerConfig​(unlimited.core.util.common.forceFileOwnership.ForceFileOwnershipConfig forceOwnerConfig)