Interface FileTransferData
-
- All Superinterfaces:
FileListDataItemSource
- All Known Subinterfaces:
FileTransferMechanism
- All Known Implementing Classes:
AutoRecoverClient,FCClient,FileTransferMechansimAdapter,MultiClientManager,PooledClient,ReadOnlyClient,SynchClient,TransferMechanismData
public interface FileTransferData extends FileListDataItemSource
Interface used to force common methods across classes that contain information regarding file transfers
-
-
Method Summary
All Methods Instance Methods Abstract Methods Default Methods Deprecated Methods Modifier and Type Method Description voidcd(java.lang.String path)Sets the current remote working directory to the specified path.default java.util.function.Supplier<FileTransferMechanism>getAutoConnectClientFactory()intgetBlastRate()Deprecated.Method deprecated.intgetBlockSize()Return the current block size.FileCatalystClientCallbackHandlergetCallbackHandler()Returns the currently set callback handler that will be used to confirm resume, overwrite and to do post processingjava.lang.StringgetClientConnectKey()Returns the client connect key, used to connect to non-FileCatalyst serversjava.util.function.Supplier<ClientCredentials>getClientCredentials()Returns the credentials supplier that is set for this client.intgetClientIdentifier()java.lang.StringgetClientName()Used for HotFolder Reporting, And CSV Reportsjava.lang.StringgetCompFileFilter()Sets the compression FileFilter that is to be used by the implementation.intgetCompLevel()Returns the current compression level (0 - 9).intgetCompMethod()Returns the current compression method to be used during transfers.intgetCompStrategy()Deprecated.Compression Strategy is no longer supported as an option in FileCatalyst.intgetCongCtrlStrategy()Returns the current congestion control strategy.intgetCongestionControlAggression()Returns an aggression factor between 1 (passive) and 10 (aggressive) used by the congestion control mechanism to determine how passive or aggressive it should be in the face of network congestion.intgetConnectTimeout()Return the connect timeout value (in milliseconds)intgetExtendedReadTimeout()This is the length of time in milliseconds the client will wait for a reply after sending a long running command (such as MD5, MKDLT, MKSIG, ZIP, UNZIP) to the FileCatalyst server.FileCatalystFileFiltergetFileFilter()Returns the current file filter that is used to filter out information for a transfer.intgetFileTransferPriority()Returns the task file transfer priorityjava.lang.StringgetForceFileOwnershipGroup()Returns the groupname / groupID to be used when attempting to force group level ownership for files downloaded by the client.java.lang.StringgetForceFileOwnershipUser()Returns the username to be used when attempting to force file ownership for files downloaded by the clientintgetIncomingDataPort()Deprecated.int[]getIncomingDataPorts()Returns the list of ports used for incoming UDP packets on downloadsintgetIncrementalMode()Returns the current incremental mode.default java.lang.StringgetLocalWorkingDirectory()Deprecated.Method is deprecated.java.nio.file.PathgetLocalWorkingDirectoryPath()unlimited.core.util.common.logs.LogUtilsgetLogger()Returns the logger that is usedjava.lang.StringgetLogLocation()Returns the current location for the log files.intgetMaxRetries()Returns the number of times to retry a broken or interrupted transfer.intgetMd5RateLimit()Returns the current MD5 that is set.intgetNumBlockReaders()Returns the number of block reader threads.intgetNumBlockWriters()Returns the number of block writer threads.intgetNumFTPStreams()Returns the number of concurrent streams that will be used for FTP transfersintgetNumPacketProcessors()Return the current number of packet processor threads.intgetNumReceiveSockets()Returns the current number of receive sockets.intgetNumSenderSockets()Return the number of Sender sockets to useintgetNumSenderThreads()Returns the number of threads that will be used at most for each FC transmission.intgetNumThreads()Deprecated.intgetNumUDPSockets()Deprecated.java.util.ObservergetObserver()Returns the Observer that is currently set.intgetPacketQueueDepth()Return the current packet queue depth.intgetPacketSize()Returns the current packet size in bytes.PostTaskSentDatagetPostTaskSentData()Returns the current post task sent datajava.lang.StringgetPostURL()Returns the current post URL to useintgetProgressiveTimeout()Returns the current progressive timeout value.java.lang.StringgetProgressiveTimeoutFilter()Returns the current progressive timeout filter.intgetReadBufferSizeKB()Return the current read buffer size, in KB Value zero (0) indicates read buffer is dictated by the network block size.intgetReadTimeout()This is the length of time in milliseconds the client will wait for a reply after sending a command to the FileCatalyst server.intgetRemotePort()Gets the remote port to which this client will be connected.java.lang.StringgetRemoteServer()This method returns the remote server / hostname to which this client is connected.booleangetRenameExtension()Returns whether or not the rename extension will be used.java.lang.StringgetServerAgentID()Returns the server's current agent ID.intgetServerOverrideBandwidth()Returns the override bandwidth value that has been specified by server.java.lang.StringgetServletLocation()FileCatalyst has the ability to upload using the HTTP/S protocol as long as the FileCatalyst Servlet application is installed and properly configured.intgetServletMultiplier()When uploading in HTTP mode using FileCatalyst Servlet, this option allows the upload buffer size to be tuned.intgetSessionCount()Returns the current number of active sessions that the implementation hasjava.lang.StringgetSessionID()Returns the current session ID of the implementationunlimited.core.util.common.net.ssl.FCSSLSocketProducerImplgetSSLSocketProducer()Retrieves the implementation that will be used to generate SSL socketsintgetTargetRate()Returns the current target rate for this client.java.lang.StringgetTaskID()Returns the current task IDintgetTempMode()Returns the temporary mode for the implementationbooleangetTransferEmptyDirectories()Returns whether not the implementation is set to transfer empty directories.intgetTransferRate()Returns the implementation's current transfer rateintgetUserRelativePriority()This priority hint is to help the server distribute bandwidth within its own set parameters.intgetVerifyMode()Returns the current integrity verification mode.longgetWaitRetry()Returns the amount of milliseconds to wait between retries for failed transfers.intgetWriteBufferSizeKB()Return the current write buffer size.java.lang.StringgetWriteFileMode()Gets the file write mode set Client application will use these values for downloads only.longgetZipFileSizeLimit()Returns the zip file size limit in bytes.booleanisAutoResume()Returns true if auto-resume is enabled.booleanisAutoUnzip()Returns true if auto unzip is enabled, false otherwise.booleanisAutoZip()Returns true if auto zip is enabled, false otherwise.booleanisCompressionEnabled()Returns true if compression is enabled, false otherwise.booleanisCongestionControlEnabled()Returns true if congestion control is currently enabled.booleanisDebug()Returns true if debug is set to true.booleanisDeleteAfterTransfer()Returns true if the delete after transfer option is enabled, false otherwise.booleanisDowngradeModeOnReConnect()Returns true if the downgrade on reconnect option is enabled, false otherwise.booleanisForceTCPmodeACKs()Returns true if TCP mode ACKs are enabled.booleanisIncrementalSizeCheckOnly()Returns whether or not incremental has been set to use the size only optionbooleanisMaintainLastModified()Returns true if Maintain last modified is enabled.booleanisMaintainPermissions()Returns true if maintain permissions is enabled.default booleanisMoveToSent()booleanisOptimizeBlockSize()Returns true if optimize block size feature is enabled.booleanisProgressiveTransfers()Return true if the progressive option is enabled, false otherwise.booleanisServerOverridebandwidth()Returns whether or not the server has specified that the bandwidth should be overridden.booleanisShowConsoleLog()Returns true if console log is enabled.booleanisTransferEmptyDirectories()Returns whether or not the implementation should be transferring empty directoriesbooleanisTransferWithTempName()Returns true if transferring with temporary names is enabledbooleanisUseCompression()Deprecated.booleanisUseCongestionControl()Deprecated.booleanisUseIncremental()Returns true if incremental feature is enabledbooleanisUseSSL()Returns true if SSL mode is enabled, false otherwise.booleanisVerifyIntegrity()Returns true if integrity check is enabled.intlastServerRestrictedRate()Returns the last rate (kbps) that the Server had replied with.java.lang.Stringpwd()Returns the current remote working directory.voidsetAutoResume(boolean autoResume)Enables/disables auto resume feature.voidsetAutoUnzip(boolean autoUnzip)Enables/disables auto unzip feature.voidsetAutoZip(boolean autoZip)Enables/disables auto zip feature.voidsetBlockSize(int blockSize)Set the block size.voidsetCallbackHandler(FileCatalystClientCallbackHandler callbackHandler)Sets a callback handler that will be used to confirm resume, overwrite and to do post processingvoidsetClientAgentID(java.lang.String clientAgentID)Sets the current client agent ID to the new specified value.voidsetClientConnectKey(java.lang.String clientConnectKey)This key must be set in order to connect to non-FileCatalyst servers.voidsetClientCredentials(java.util.function.Supplier<ClientCredentials> creds)Sets the credentials supplier for this connection.voidsetClientIdentifier(int clientIdentifier)An ID value that identifies this client to the FileCatalyst Server.voidsetClientName(java.lang.String clientName)Sets the current client name to the value that is specifiedvoidsetClientString(java.lang.String clientString)Set a text string that will be displayed on the server UI to identify this client.voidsetClientSubIdentifier(int clientSubIdentifier)Sets an ID that further identifies this clientvoidsetClientWorkingPath(java.nio.file.Path clientWorkingPath)Sets the client's current working path to the value specifiedvoidsetCompFileFilter(java.lang.String compFileFilter)Sets the compression FileFilter that is to be used by the implementationvoidsetCompLevel(int compLevel)Sets the compression level (0 - 9 with default of 4).voidsetCompMethod(int compMethod)Sets the current compression method to be used during transfers.voidsetCompressionEnabled(boolean enable)Enables/disables on the fly compression.voidsetCompStrategy(int compStrategy)Deprecated.Specifying Compression Strategy is no longer supported.voidsetCongCtrlStrategy(int congCtrlStrategy)Sets the congestion control strategy.voidsetCongestionControlAggression(int congestionControlAggression)Specifies an aggression factor between 1 (passive) and 10 (aggressive) used by the congestion control mechanism to determine how passive or aggressive it should be in the face of network congestion.voidsetCongestionControlEnabled(boolean enabled)Enables/disables congestion control for this client.voidsetConnectTimeout(int millisec)Sets the connect timeout value (in milliseconds).voidsetDebug(boolean debug)Turns on debug mode.voidsetDeleteAfterTransfer(boolean deleteAfterTransfer)With this option enabled, source files will be deleted after the transfer is complete.voidsetDowngradeModeOnReConnect(boolean downgradeModeOnReConnect)If set to true, if a disconnect occurs during a UDP transfer, upon reconnect and resume, the transfer mode is downgraded to multi-stream TCP, then single stream TCP, and finally HTTP (if available).voidsetExtendedReadTimeout(int millisecs)This is the length of time the client will wait for a reply after sending a long running command (such as MD5, MKDLT, MKSIG, ZIP, UNZIP) to the FileCatalyst server.voidsetFileTransferPriority(int fileTransferPriority)Sets the FileTransferPrioriry to new new value.voidsetForceFileOwnershipGroup(java.lang.String forceFileOwnershipGroup)Sets the groupname / groupID to be used when attempting to force group level ownership for files downloaded by the client.voidsetForceFileOwnershipUser(java.lang.String forceFileOwnershipUser)Sets the username to be used when attempting to force file ownership for files downloaded by the clientvoidsetForceTCPmodeACKs(boolean forceTCPmodeACKs)By default, FileCatalyst uses UDP to acknowledge data received.voidsetIncomingDataPort(int inDataPort)Sets the port used for incoming UDP packets on downloads.voidsetIncomingDataPorts(int[] inDataPorts)Sets the port used for incoming UDP packets on downloads.voidsetIncrementalMode(int incrementalMode)When incremental is enabled, this method allows you to choose the incremental mode.voidsetIncrementalSizeCheckOnly(boolean incrementalSizeCheckOnly)Setting this value will cause the MD5 checks to be skipped and the files compared using size only.default voidsetLocalWorkingDirectory(java.lang.String localWorkingDirectory)Deprecated.Method is deprecated.voidsetLocalWorkingDirectory(java.nio.file.Path localWorkingDirecctory)Sets the Local Working directory.voidsetLogger(unlimited.core.util.common.logs.LogUtils logger)overriding the logUtils object.voidsetLogLocation(java.lang.String logLocation)Specifies a directory on the local system where the log file should be stored.voidsetMaintainLastModified(boolean maintainLastModified)Sets the maintain last modified feature to the value specified.voidsetMaintainPermissions(boolean maintainPermissions)If set to true, upon each successful transfer, the destination file permissions will be set to match those of the source file.voidsetMaxRetries(int maxRetries)Specify the number of times to retry a broken or interrupted transfer.voidsetMd5RateLimit(int md5RateLimit)Sets the rate limit to use when calculating MD5s of filesvoidsetMode(int mode)Set the transfer mode of this client.voidsetNumBlockReaders(int numBlockReaders)Sets the number of block reader threads.voidsetNumBlockWriters(int numBlockWriters)Sets the number of block writer threads to use when receiving a file.voidsetNumFTPStreams(int numFTPStreams)When transferring in FTP mode, it is possible to send with several concurrent streams.voidsetNumPacketProcessors(int numPacketProcessors)Sets the number of threads used to process incoming UDP packets when downloading.voidsetNumReceiveSockets(int numReceiveSockets)Set the number of UDP sockets to use to receive packets during a UDP download.voidsetNumSenderSockets(int numSenderSockets)Sets the number of UDP sockets to use when uploading a file in UDP mode.voidsetNumSenderThreads(int numThreads)This value determines how many blocks will be sent into the pipe before redundant data will be sent.voidsetNumThreads(int numThreads)Deprecated.voidsetNumUDPSockets(int numUDPSockets)Deprecated.voidsetObserver(java.util.Observer observer)FCClient is not directly observable, however TransferHook is.voidsetOptimizeBlockSize(boolean optimizeBlockSize)If set to true, FileCatalyst will attempt to optimize the current block size to be an exact multiple of the data size that is being transmitted.voidsetPacketQueueDepth(int packetQueueDepth)Sets the depth of the application level packet queue.voidsetPacketSize(int packetSize)Set the unit size.voidsetPostTaskSentData(PostTaskSentData data)Sets the current post task sent data to the specified valuevoidsetPostURL(java.lang.String postURL)Sets the current post URL to the value that is definedvoidsetProgressiveTimeout(int progressiveTimeout)Sets the current progressive timeout to the value suppliedvoidsetProgressiveTimeoutFilter(java.lang.String progressiveTimeoutFilter)Sets the current progressive timeout filter to the value that is set tovoidsetProgressiveTransfers(boolean progressiveTransfers)With this option enabled, upon completion of an upload or download, FileCatalyst will compare the size of the source file to the size when it began the transfer.voidsetReadBufferSizeKB(int bufferSizeKB)Sets the read buffer size used when reading data from disk.voidsetReadTimeout(int millisecs)This is the length of time the client will wait for a reply after sending a command to the FileCatalyst server.voidsetRemotePort(int remotePort)Sets the remote port to which this client will be connected.voidsetRemoteServer(java.lang.String remoteServer)Set the remote server to which this client should connect.voidsetRenameExtension(boolean renameExtension)Sets whether or not the rename extension should be usedvoidsetServerAgentID(java.lang.String serverAgentID)Sets the server agent ID to the new valuevoidsetServletLocation(java.lang.String servletLocation)FileCatalyst has the ability to upload using the HTTP/S protocol as long as the FileCatalyst Servlet application is installed and properly configured.voidsetServletLocation(java.lang.String servletLocation, java.lang.String servletSessionID, java.lang.String welcomeMessage)FileCatalyst has the ability to upload using the HTTP/S protocol as long as the FileCatalyst Servlet application is installed and properly configured.voidsetServletMultiplier(int servletMultiplier)When uploading in HTTP mode using FileCatalyst Servlet, this option allows the upload buffer size to be tuned.voidsetSessionID(java.lang.String sessionID)Sets the session ID to the specified value.voidsetShowConsoleLog(boolean showConsoleLog)If set to true, all logging information is also sent to standard out.voidsetSSLSocketProducer(unlimited.core.util.common.net.ssl.FCSSLSocketProducerImpl producerImpl)Sets the implementation that will be used to generate SSL socketsvoidsetStartRate(int slowStartRate)Sets the start rate for FC transfers in Kilobits per second.voidsetTargetRate(int targetRate)Sets the target rate (kbps) for this client.voidsetTaskID(java.lang.String taskID)Sets the current task ID to the new value suppliedvoidsetTransactionID(java.lang.String uniqueID)Sets a unique transaction number for the transfer (instance variable).voidsetTransferEmptyDirectories(boolean transferEmptyDirectories)Sets whether or not the implementation should transfer empty directoriesvoidsetTransferToServerOverride(int serverOverrideBW)Sets bandwidth value that the Server is attempting to override this client to.voidsetTransferWithTempName(boolean transferWithTempName)With this option enabled, files will be uploaded with a temporary filename and renamed back to their original name when the transfer is complete.voidsetTransferWithTempName(boolean transferWithTempName, int tempMode)With this option enabled, files will be uploaded with a temporary filename and renamed back to their original name when the transfer is complete.voidsetUnitSize(int unitSize)Deprecated.voidsetUseCompression(boolean useCompression)Deprecated.voidsetUseCongestionControl(boolean useCongestionControl)Deprecated.voidsetUseIncremental(boolean useIncremental)If set to true, before each source file is transferred, it will be compared with the destination file if it exists to ensure the file has changed.voidsetUserRelativePriority(int priority)This priority hint is to help the server distribute bandwidth within its own set parameters.voidsetUseSSL(boolean useSSL)If set to true, control connection will be made using an implicit SSL connection.voidsetVerifyIntegrity(boolean verifyIntegrity)If set to true, after each file is transferred an MD5 sum will be performed on the destination file and the result will be compared to that of the source file to ensure the files are identical.voidsetVerifyMode(int verifyMode)Sets the integrity verification modevoidsetWaitRetry(long waitRetry)Sets the amount of time in milliseconds to wait before the client attempts to retry a failed transfervoidsetWriteBufferSizeKB(int bufferSizeKB)Sets the write buffer size used when saving data to disk.voidsetWriteFileMode(java.lang.String mode)Set JAVA file write mode when saving data to disk.voidsetZipFileSizeLimit(long zipFileSizeLimit)Sets the zip file size limit to the value specified.-
Methods inherited from interface unlimited.fc.client.api.filelist.FileListDataItemSource
delete, get, getMode, getStartRate, getUnitSize, isFileCatalystServer, isForceFileOwnershipEnabled, list, listAsList, prms, setFileFilter, setForceFileOwnershipEnabled, size, streamWithInlineParse, streamWithInlineParse
-
-
-
-
Method Detail
-
isDowngradeModeOnReConnect
boolean isDowngradeModeOnReConnect()
Returns true if the downgrade on reconnect option is enabled, false otherwise.- Returns:
- boolean true if the downgrade on reconnect option is enabled, false otherwise.
-
getObserver
java.util.Observer getObserver()
Returns the Observer that is currently set.- Returns:
- the observer
-
setObserver
void setObserver(java.util.Observer observer)
FCClient is not directly observable, however TransferHook is. Setting an Observer using this method ensures that the given Observer will be set on the TransferHook object returned from upload and download method calls prior to the actual transfer being initiated.- Parameters:
observer- the observer to set
-
setDowngradeModeOnReConnect
void setDowngradeModeOnReConnect(boolean downgradeModeOnReConnect)
If set to true, if a disconnect occurs during a UDP transfer, upon reconnect and resume, the transfer mode is downgraded to multi-stream TCP, then single stream TCP, and finally HTTP (if available).- Parameters:
downgradeModeOnReConnect- the downgradeModeOnReConnect to set
-
setCallbackHandler
void setCallbackHandler(FileCatalystClientCallbackHandler callbackHandler)
Sets a callback handler that will be used to confirm resume, overwrite and to do post processing- Parameters:
callbackHandler- the callbackHandler to set
-
setClientSubIdentifier
void setClientSubIdentifier(int clientSubIdentifier)
Sets an ID that further identifies this client- Parameters:
clientSubIdentifier- the clientSubIdentifier to set- Since:
- 2.9
-
setClientString
void setClientString(java.lang.String clientString)
Set a text string that will be displayed on the server UI to identify this client. USeful when developing 3rd party applications that are not identified properly by FileCatalyst internal IDs.- Parameters:
clientString- the clientString to set- Since:
- 2.9
-
getCallbackHandler
FileCatalystClientCallbackHandler getCallbackHandler()
Returns the currently set callback handler that will be used to confirm resume, overwrite and to do post processing- Returns:
- the callbackHandler
-
getWriteFileMode
java.lang.String getWriteFileMode()
Gets the file write mode set Client application will use these values for downloads only. Server has these values defined remotely for uploads.- Returns:
- returns either rw, rws, rwd, or ""
- Since:
- 3.0
-
setWriteFileMode
void setWriteFileMode(java.lang.String mode)
Set JAVA file write mode when saving data to disk. Client application will use these values for downloads only. Server has these values defined remotely for uploads.- Parameters:
mode- Default "" uses "rws" for Windows/Linux, and "rw" for Solaris/MacOSX. Possible values are "", rw, rws, rwd- Since:
- v3.0
-
getWriteBufferSizeKB
int getWriteBufferSizeKB()
Return the current write buffer size. Value is in KB. Value zero (0) indicates read buffer is dictated by the network block size. Client application will use these values for downloads only. Server has these values defined remotely for uploads.- Returns:
- the writeBufferSize
- Since:
- 3.0
-
setWriteBufferSizeKB
void setWriteBufferSizeKB(int bufferSizeKB)
Sets the write buffer size used when saving data to disk. Default (0) sets value to network buffer size. Client application will use these values for downloads only. Server has these values defined remotely for uploads.- Parameters:
bufferSizeKB- default value will utilize network block size for writes. Value in KB.- Since:
- v3.0.0
-
getReadBufferSizeKB
int getReadBufferSizeKB()
Return the current read buffer size, in KB Value zero (0) indicates read buffer is dictated by the network block size. Client application will use these values for uploads only. Server has these values defined remotely for downloads.- Returns:
- readBufferSize
- Since:
- 3.0
-
setReadBufferSizeKB
void setReadBufferSizeKB(int bufferSizeKB)
Sets the read buffer size used when reading data from disk. Default (0) sets value to network buffer size. Client application will use these values for uploads only. Server has these values defined remotely for downloads.- Parameters:
bufferSizeKB- default value will utilize network block size for reads.- Since:
- v3.0.0
-
getNumBlockReaders
int getNumBlockReaders()
Returns the number of block reader threads. Client application will use these values for uploads only. Server has these values defined remotely for downloads.- Returns:
- the numBlockReaders
- Since:
- 3.0
-
setNumBlockReaders
void setNumBlockReaders(int numBlockReaders)
Sets the number of block reader threads. Increasing the number of blocker reader threads may increase read speed performance and help boost performance. Client application will use these values for uploads only. Server has these values defined remotely for downloads.- Parameters:
numBlockReaders- the numBlockReaders to set- Since:
- 3.0
-
getNumBlockWriters
int getNumBlockWriters()
Returns the number of block writer threads. Client application will use these values for downloads only. Server has these values defined remotely for uploads.- Returns:
- the numBlockWriters
- Since:
- 3.0
-
setNumBlockWriters
void setNumBlockWriters(int numBlockWriters)
Sets the number of block writer threads to use when receiving a file. Writing to the file with multiple threads may improve performance. Client application will use these values for downloads only. Server has these values defined remotely for uploads.- Parameters:
numBlockWriters- the numBlockWriters to set- Since:
- 3.0
-
getNumSenderThreads
int getNumSenderThreads()
Returns the number of threads that will be used at most for each FC transmission.- Returns:
- the number of threads that will be used at most for each FC transmission.
-
setNumSenderThreads
void setNumSenderThreads(int numThreads)
This value determines how many blocks will be sent into the pipe before redundant data will be sent. In high RTT environments, this value multiplied by the block size should be higher than the product of the RTT and the target rate. Depending on the speed and spec of the disk, it may be advantageous to have more threads with a higher block size or vise versa. Number of threads is set to 5 by default.- Parameters:
numThreads- Number of block sender threads to start for each transmission.- Since:
- 3.0
-
getNumReceiveSockets
int getNumReceiveSockets()
Returns the current number of receive sockets. Required for > 2gbps transfers. Default for this value is 1.- Returns:
- the numReceiveSockets
- Since:
- 3.0
-
setNumReceiveSockets
void setNumReceiveSockets(int numReceiveSockets)
Set the number of UDP sockets to use to receive packets during a UDP download. When individual UDP sockets receive packets there is latency between when packets are received and when they are processed. This means processing packets form a single socket may limit reception because only a single CPU core may be used. Increasing the number of sockets will allow multiple threads to receive data, and process data in parallel, hence taking advantage of more CPU cores. Required for > 2gbps transfers. Default for this value is 1.- Parameters:
numReceiveSockets- the numReceiveSockets to set- Since:
- 3.0
-
getNumSenderSockets
int getNumSenderSockets()
Return the number of Sender sockets to use- Returns:
- the Number of UDP Sockets currently set
-
setNumSenderSockets
void setNumSenderSockets(int numSenderSockets)
Sets the number of UDP sockets to use when uploading a file in UDP mode. Increasing the number of sockets used may boost performance at high speeds (i.e. greater than 500 Mbps)- Parameters:
numUDPSockets- the Number of UDP Sockets to set
-
getPacketQueueDepth
int getPacketQueueDepth()
Return the current packet queue depth. Client application will use these values for downloads only. Server has these values defined remotely for uploads.- Returns:
- the packetQueueDepth
- Since:
- 3.0
-
setPacketQueueDepth
void setPacketQueueDepth(int packetQueueDepth)
Sets the depth of the application level packet queue. As packets are received, the are inserted into this queue to await processing. This queue is an extra level of protection against packet loss due to CPU and I/O bottlenecks, and may help performance when using more than 1 packet processor threads, or in virtual environments where CPU and I/O performance is not predictable. Client application will use these values for downloads only. Server has these values defined remotely for uploads.- Parameters:
packetQueueDepth- the packetQueueDepth to set- Since:
- 3.0
-
getNumPacketProcessors
int getNumPacketProcessors()
Return the current number of packet processor threads. Client application will use these values for downloads only. Server has these values defined remotely for uploads.- Returns:
- the numPacketProcessors
- Since:
- 3.0
-
setNumPacketProcessors
void setNumPacketProcessors(int numPacketProcessors)
Sets the number of threads used to process incoming UDP packets when downloading. When packets arrive they are inserted into a queue for processing. The packet processor threads process the packets and sort them into the proper data blocks. The number of threads used to process the packets becomes very important when AES encryption is enabled as it distributes the decryption between the CPU cores. Client application will use these values for downloads only. Server has these values defined remotely for uploads.- Parameters:
numPacketProcessors- the numPacketProcessors to set- Since:
- 3.0
-
isCongestionControlEnabled
boolean isCongestionControlEnabled()
Returns true if congestion control is currently enabled.- Returns:
- true if congestion control is currently enabled.
-
getCongestionControlAggression
int getCongestionControlAggression()
Returns an aggression factor between 1 (passive) and 10 (aggressive) used by the congestion control mechanism to determine how passive or aggressive it should be in the face of network congestion. Default value is 5.- Returns:
- int Aggression factor between 1 (passive) and 10 (aggressive)
-
setCongestionControlEnabled
void setCongestionControlEnabled(boolean enabled)
Enables/disables congestion control for this client. When enabled, the client will automatically decrease its transmission or reception rate when congestion is detected. Future versions will allow finer grain control over the reaction algorithm. Congestion control is set to true by default.- Parameters:
useCongestionControl- boolean value used to turn congestion control on/offenabled-
-
getCongCtrlStrategy
int getCongCtrlStrategy()
Returns the current congestion control strategy.The possible options are:
- RTT based (
CongestionControlType.RTT) - LOSS based (
CongestionControlType.LOSS) - Rate based (
CongestionControlType.BSS)
- Returns:
- the congCtrlStrategy
- Since:
- 3.0
- RTT based (
-
setCongCtrlStrategy
void setCongCtrlStrategy(int congCtrlStrategy)
Sets the congestion control strategy.The possible options are:
- RTT based (
CongestionControlType.RTT) - LOSS based (
CongestionControlType.LOSS) - Rate based (
CongestionControlType.BSS)
- Parameters:
congCtrlStrategy- the congCtrlStrategy to set- Since:
- 3.0
- RTT based (
-
pwd
java.lang.String pwd() throws unlimited.core.util.common.exception.FCException, java.io.IOExceptionReturns the current remote working directory.- Returns:
- the current remote working directory.
- Throws:
unlimited.core.util.common.exception.FCException- If an error in the FC protocol occursjava.io.IOException- If a timeout, or other IO error occurs
-
cd
void cd(java.lang.String path) throws unlimited.core.util.common.exception.FCException, java.io.IOExceptionSets the current remote working directory to the specified path. This can be relative or absolute.- Parameters:
path- The desired remote path to change to.- Throws:
unlimited.core.util.common.exception.FCException- If an error in the FC protocol occurs, permission denied, etc...java.io.IOException- If a timeout, or other IO error occurs
-
getRemoteServer
java.lang.String getRemoteServer()
This method returns the remote server / hostname to which this client is connected.- Returns:
- the remote server to which this client is connected.
-
setRemoteServer
void setRemoteServer(java.lang.String remoteServer)
Set the remote server to which this client should connect. This should be called prior to calling the connect() method.- Parameters:
remoteServer- String value to specify the server to connect to
-
getRemotePort
int getRemotePort()
Gets the remote port to which this client will be connected.- Returns:
- the remote port to which this client will be connected.
-
setRemotePort
void setRemotePort(int remotePort)
Sets the remote port to which this client will be connected. This should be called prior to calling the connect() method.- Parameters:
remotePort- int value to specify the remort post to be used
-
setMode
void setMode(int mode)
Set the transfer mode of this client.The possible values can be found at the following locations:
- UDP:
TransferMode.UDP - FTP:
TransferMode.FTP - HTTP:
TransferMode.HTTP - AUTO:
TransferMode.AUTO
- Parameters:
mode- int value used to specify which transfer mode to use (ie: TransferMode.UDP)
- UDP:
-
getTargetRate
int getTargetRate()
Returns the current target rate for this client. The client will attempt to transfer files no faster than the specified rate. If a transfer is already in progress, an attempt will be made to adjust it's target rate to the specified value.- Returns:
- the current target rate for this client.
-
setTargetRate
void setTargetRate(int targetRate)
Sets the target rate (kbps) for this client. The client will attempt to transfer files no faster than the specified rate. If a transfer is already in progress, an attempt will be made to adjust it's target rate to the specified value.- Parameters:
targetRate- int value to specify the maximum transfer rate
-
getBlockSize
int getBlockSize()
Return the current block size. The block size determines how much data each thread will encode and send through the pipe. In higher RTT environments, it might be advantageous to increase this value as it will ensure the pipe is full of data. This however will cause the client side to consume more memory (number of threads * the block size)- Returns:
- the current block size.
-
setBlockSize
void setBlockSize(int blockSize)
Set the block size. The block size determines how much data each thread will encode and send through the pipe. In higher RTT environments, it might be advantageous to increase this value as it will ensure the pipe is full of data. This however will cause the client side to consume more memory (number of threads * the block size) Block size is set to 2048000 by default.- Parameters:
blockSize- An int value used to set the Block Size
-
getPacketSize
int getPacketSize()
Returns the current packet size in bytes. This is the encoded unit size, and determines the eventual UDP packet size. If the unit size is greater than the MTU of the network with will create fragmented UDP packets. This can lead to higher performance in low loss environments, but may decrease performance in environments with very low MTU (ATM) or high packet loss environments.- Returns:
- The current packet size. In Bytes.
-
setPacketSize
void setPacketSize(int packetSize)
Set the unit size. This is the encoded unit size, and determines the eventual UDP packet size. If the unit size is greater than the MTU of the network with will create fragmented UDP packets. This can lead to higher performance in low loss environments, but may decrease performance in environments with very low MTU (ATM) or high packet loss environments. Unit size is set to 1024 Bytes by default.- Parameters:
packetSize- int value used to set the Unit Size
-
setTransactionID
void setTransactionID(java.lang.String uniqueID)
Sets a unique transaction number for the transfer (instance variable). Transaction number will be used as part of working/temporary filenames when transferring a file.Applies to temporary file name, zip file name, signature/delta filename.
By default, a random unique ID is created per machine by the API. This ensures that on the server, two separate client connections into the same user account should not encounter a filename collision. However, if two concurrent transfers are being launched using the same fileset (ie: upload using auto-zip) from the client API to separate servers, this value must be set for each transfer in order to ensure that temporary & working file name is not reused for two distinct transfers.
Value may be overridden if you explicitly specify a transaction ID during upload(Vector, String, String) or download(Vector, String, String) calls.
- Parameters:
uniqueID- String value, should be alpha-numeric (Long.toString(System.currentTimeMillis()))
-
isAutoResume
boolean isAutoResume()
Returns true if auto-resume is enabled. When enabled, if the destination file is smaller than the source file, the client will compare the relevant portions of the files to see if a transfer can be resumed. This is done using an MD5 checksum.- Returns:
- true if auto-resume is enabled. false otherwise.
-
setAutoResume
void setAutoResume(boolean autoResume)
Enables/disables auto resume feature. When enabled, if the destination file is smaller than the source file, the client will compare the relevant portions of the files to see if a transfer can be resumed. This is done using an MD5 checksum. Auto resume is false by default.- Parameters:
autoResume- true/false to enabled or disable this feature.
-
isVerifyIntegrity
boolean isVerifyIntegrity()
Returns true if integrity check is enabled. If true, after each file is transferred an MD5 sum will be performed on the destination file and the result will be compared to that of the source file to ensure the files are identical.- Returns:
- true if integrity check is enabled.
-
setVerifyIntegrity
void setVerifyIntegrity(boolean verifyIntegrity)
If set to true, after each file is transferred an MD5 sum will be performed on the destination file and the result will be compared to that of the source file to ensure the files are identical. Verify integrity is false by default.- Parameters:
verifyIntegrity- true/false to enable or disable this feature.
-
isMaintainPermissions
boolean isMaintainPermissions()
Returns true if maintain permissions is enabled. If value returns true, upon each successful transfer, the destination file permissions will be set to match those of the source file. This features only functions when both the source and destination are running a Linux/Unix based OS.- Returns:
- true if Maintain permissions is enabled
-
setMaintainPermissions
void setMaintainPermissions(boolean maintainPermissions)
If set to true, upon each successful transfer, the destination file permissions will be set to match those of the source file. This features only functions when both the source and destination are running a Linux/Unix based OS. This feature is off by default.- Parameters:
maintainPermissions- true/false to enabled and disable this feature.
-
isMaintainLastModified
boolean isMaintainLastModified()
Returns true if Maintain last modified is enabled. If set to true, upon each successful transfer, the destination files modification date will be set to match that of the source file.- Returns:
- true if Maintain last modified is enabled
-
setMaintainLastModified
void setMaintainLastModified(boolean maintainLastModified)
Sets the maintain last modified feature to the value specified. If set to true, upon each successful transfer, the destination files modification date will be set to match that of the source file. This feature is off by default.- Parameters:
maintainLastModified- true/false to enabled and disable this feature.
-
isUseIncremental
boolean isUseIncremental()
Returns true if incremental feature is enabled- Returns:
- true if incremental feature is enabled
-
setUseIncremental
void setUseIncremental(boolean useIncremental)
If set to true, before each source file is transferred, it will be compared with the destination file if it exists to ensure the file has changed. If the file has not changed, the file will not be transmitted. This feature is off by default.- Parameters:
useIncremental- boolean value to turn incremental on/off
-
isOptimizeBlockSize
boolean isOptimizeBlockSize()
Returns true if optimize block size feature is enabled.- Returns:
- true/false if this feature is enabled/disabled
-
setOptimizeBlockSize
void setOptimizeBlockSize(boolean optimizeBlockSize)
If set to true, FileCatalyst will attempt to optimize the current block size to be an exact multiple of the data size that is being transmitted. This feature is on by default.- Parameters:
optimizeBlockSize- true/false to enabled and disable this feature.
-
getClientCredentials
java.util.function.Supplier<ClientCredentials> getClientCredentials()
Returns the credentials supplier that is set for this client.- Returns:
- the credentials supplier that is set for this client.
-
setClientCredentials
void setClientCredentials(java.util.function.Supplier<ClientCredentials> creds)
Sets the credentials supplier for this connection. Value is used to determine which user this transfer mechanism attempts to connect to a FC Server- Parameters:
credentials- the credentials supplier for this connection
-
isUseSSL
boolean isUseSSL()
Returns true if SSL mode is enabled, false otherwise.- Returns:
- true if SSL mode is enabled, false otherwise.
-
setUseSSL
void setUseSSL(boolean useSSL)
If set to true, control connection will be made using an implicit SSL connection. This must be set prior to calling the connect method.- Parameters:
useSSL- Boolean value to turn SSL on/off
-
getSSLSocketProducer
unlimited.core.util.common.net.ssl.FCSSLSocketProducerImpl getSSLSocketProducer()
Retrieves the implementation that will be used to generate SSL sockets
-
setSSLSocketProducer
void setSSLSocketProducer(unlimited.core.util.common.net.ssl.FCSSLSocketProducerImpl producerImpl)
Sets the implementation that will be used to generate SSL sockets- Parameters:
producerImpl- Concrete instance that provides logic for generating SSL sockets
-
getLogLocation
java.lang.String getLogLocation()
Returns the current location for the log files.- Returns:
- The current location for the log files.
-
setLogLocation
void setLogLocation(java.lang.String logLocation)
Specifies a directory on the local system where the log file should be stored. If this value is not set, the log will be stored in the current working directory. This should be called prior to calling initialize() to have an affect.- Parameters:
logLocation- String value specifying where to store the logs
-
getLogger
unlimited.core.util.common.logs.LogUtils getLogger()
Returns the logger that is used- Returns:
- the logger
-
setLogger
void setLogger(unlimited.core.util.common.logs.LogUtils logger)
overriding the logUtils object.- Parameters:
logger- the logger to set
-
setStartRate
void setStartRate(int slowStartRate)
Sets the start rate for FC transfers in Kilobits per second. All FC transfer will begin at this rate and ramp up to the specified target rate if no congestion is encounters. Congestion control must be enabled for this value to have an effect. Start rate is set to 1000 Kbps by default.- Parameters:
slowStartRate- int value used to set the rate in which the transfer should start at
-
getConnectTimeout
int getConnectTimeout()
Return the connect timeout value (in milliseconds)- Returns:
- The connect timeout value (in milliseconds)
-
setConnectTimeout
void setConnectTimeout(int millisec)
Sets the connect timeout value (in milliseconds). Default is 20000 milliseconds.- Parameters:
millisec- int value used to set the connect timeout
-
isShowConsoleLog
boolean isShowConsoleLog()
Returns true if console log is enabled.- Returns:
- true if console log is enabled.
-
setShowConsoleLog
void setShowConsoleLog(boolean showConsoleLog)
If set to true, all logging information is also sent to standard out. This must be enabled prior to calling the initialize method.- Parameters:
showConsoleLog- boolean value set to show the console Log or not
-
isDebug
boolean isDebug()
Returns true if debug is set to true.- Returns:
- True if debug is set to true
-
setDebug
void setDebug(boolean debug)
Turns on debug mode.- Parameters:
debug- boolean value to turn the debug mode on or of
-
getNumFTPStreams
int getNumFTPStreams()
Returns the number of concurrent streams that will be used for FTP transfers- Returns:
- Number of concurrent streams that will be used for FTP transfers
-
getCompMethod
int getCompMethod()
Returns the current compression method to be used during transfers. The method dictates what type of algorithm to use when compressing the data into smaller amounts.The available compression strategies that can be used are as follows:
- 0: Default Zip deflator (Lower CPU and memory usage with less efficient compression)
- 1: LMZA (Higher CPU and memory usage with more efficient data compression)
- Returns:
- int The current compression Method.
-
getCompLevel
int getCompLevel()
Returns the current compression level (0 - 9). This compression level is used determine the amount of compression to be used when attempting to compress the data in a given transfer. In some networks (such as high bandwidth connections), it may be helpful to lower the amount of compression to a smaller number. In other networks (low bandwidth, satellite networks), it may be helpful t maximize the compression (comp level = 9).- Returns:
- int The current compression level
-
getCompStrategy
@Deprecated int getCompStrategy()
Deprecated.Compression Strategy is no longer supported as an option in FileCatalyst. Default strategy is always used.Returns the current compression deflater strategy that will be used in the current compression method to minimize the data and compress into smaller byte values.Valid return values are:
- java.util.zip.Deflater.DEFAULT_STRATEGY
- java.util.zip.Deflater.FILTERED (Strategy that is most beneficial when compressing filtered, sorted data)
- java.util.zip.Deflater.HUFFMAN_ONLY (Strategy that compresses and decompresses data by encoding and decoding data into different information)
- Returns:
- int The current compression strategy
-
isCompressionEnabled
boolean isCompressionEnabled()
Returns true if compression is enabled, false otherwise.- Returns:
- boolean True if compression is enabled, false otherwise.
-
getIncrementalMode
int getIncrementalMode()
Returns the current incremental mode.- Returns:
- int The current incremental mode.
-
isAutoZip
boolean isAutoZip()
Returns true if auto zip is enabled, false otherwise.- Returns:
- boolean True if auto zip is enabled, false otherwise.
-
isAutoUnzip
boolean isAutoUnzip()
Returns true if auto unzip is enabled, false otherwise.- Returns:
- boolean True if auto zip is enabled, false otherwise.
-
isTransferWithTempName
boolean isTransferWithTempName()
Returns true if transferring with temporary names is enabled- Returns:
- boolean True if transferring with temporary names is enabled
-
getReadTimeout
int getReadTimeout()
This is the length of time in milliseconds the client will wait for a reply after sending a command to the FileCatalyst server.- Returns:
- int The current read timeout value, in millisecods..
-
getExtendedReadTimeout
int getExtendedReadTimeout()
This is the length of time in milliseconds the client will wait for a reply after sending a long running command (such as MD5, MKDLT, MKSIG, ZIP, UNZIP) to the FileCatalyst server.- Returns:
- int The current extended read timeout value, in millisecods.
-
getVerifyMode
int getVerifyMode()
Returns the current integrity verification mode.The modes that can be returned are as follows:
- Returns:
- int The current verify mode, either TransferMode.VERIFY_AFTER or TransferMode.VERIFY_ON_THE_FLY.
-
getServletLocation
java.lang.String getServletLocation()
FileCatalyst has the ability to upload using the HTTP/S protocol as long as the FileCatalyst Servlet application is installed and properly configured. This method allows you to retrieve the current URL of the FileCatalyst Servlet if it has been set.- Returns:
- String the URL of FileCatalyst Servlet, or null if it has not been set.
-
getLocalWorkingDirectory
@Deprecated default java.lang.String getLocalWorkingDirectory()
Deprecated.Method is deprecated. Please usegetLocalWorkingDirectoryPath()insteadReturns the current local working directory- Returns:
- String the current local working directory
-
getLocalWorkingDirectoryPath
java.nio.file.Path getLocalWorkingDirectoryPath()
-
isDeleteAfterTransfer
boolean isDeleteAfterTransfer()
Returns true if the delete after transfer option is enabled, false otherwise. With this option enabled, source files will be deleted after the transfer is complete. If the transfer is an upload, the local files will be deleted. If the transfer is a download, the remote files will be deleted.- Returns:
- boolean true if the delete after transfer option is enabled, false otherwise.
-
isProgressiveTransfers
boolean isProgressiveTransfers()
Return true if the progressive option is enabled, false otherwise.- Returns:
- boolean true if the progressive option is enabled, false otherwise.
-
getIncomingDataPort
@Deprecated int getIncomingDataPort()
Deprecated.Returns the port used for incoming UDP packets on downloads Only the first port will be returned in the case of v3.0 where multi-receive sockets have been enabled.- Returns:
- int The port used for incoming UDP packets on downloads (Only the first port will be returned in the case of v3.0 where multi-receive sockets have been enabled.)
-
getIncomingDataPorts
int[] getIncomingDataPorts()
Returns the list of ports used for incoming UDP packets on downloads- Returns:
- int The list of port used for incoming UDP packets on downloads
-
getServletMultiplier
int getServletMultiplier()
When uploading in HTTP mode using FileCatalyst Servlet, this option allows the upload buffer size to be tuned. This method returns the current value.- Returns:
- int multiplier value used to tune upload buffer
-
getClientConnectKey
java.lang.String getClientConnectKey()
Returns the client connect key, used to connect to non-FileCatalyst servers- Returns:
- String Client Connect Key
-
setNumFTPStreams
void setNumFTPStreams(int numFTPStreams)
When transferring in FTP mode, it is possible to send with several concurrent streams. This may increase performance on connections with low packet loss, but high latency. Speed gains are linear, that is, if you get 2 Mbps with 1 stream, you should get 4 Mbps with 2 streams.- Parameters:
numFTPStreams- Number of concurrent streams to use.
-
setCompStrategy
@Deprecated void setCompStrategy(int compStrategy) throws java.lang.ExceptionDeprecated.Specifying Compression Strategy is no longer supported. Default strategy will be used.Sets the compression deflater strategy that will be used within the compression method to minimize the data and compress into smaller byte values.
Valid values are:
- java.util.zip.Deflater.DEFAULT_STRATEGY
- java.util.zip.Deflater.FILTERED (Strategy that is most beneficial when compressing filtered, sorted data)
- java.util.zip.Deflater.HUFFMAN_ONLY (Strategy that compresses and decompresses data by encoding and decoding data into different information)
- Parameters:
compStrategy- int The new compression strategy- Throws:
java.lang.Exception
-
setCompMethod
void setCompMethod(int compMethod) throws java.lang.ExceptionSets the current compression method to be used during transfers. The method dictates what type of algorithm to use alongside the deflater when compressing the data into smaller amounts.The available compression strategies that can be used are as follows:
- 0: Default Zip deflator (Lower CPU and memory usage for less efficient compression)
- 1: LMZA (Higher CPU and Memory usage for more efficient data compression)
- Parameters:
compMethod- int The desired compression Method- Throws:
java.lang.Exception
-
setCompLevel
void setCompLevel(int compLevel) throws java.lang.ExceptionSets the compression level (0 - 9 with default of 4). This compression level is used determine the amount of compression to be used when attempting to compress the data in a given transfer. In some networks (such as high bandwidth connections), it may be helpful to lower the amount of compression to a smaller number. In other networks (low bandwidth, satellite networks), it may be helpful to maximize the compression (comp level = 9).- Parameters:
compLevel- int The desired compression level- Throws:
java.lang.Exception
-
setCompressionEnabled
void setCompressionEnabled(boolean enable)
Enables/disables on the fly compression. When enabled, each block of data will be compressed on the fly before it is sent over the network.- Parameters:
useCompression- boolean true/false to enable/disable compression.
-
setIncrementalMode
void setIncrementalMode(int incrementalMode) throws java.lang.ExceptionWhen incremental is enabled, this method allows you to choose the incremental mode.Valid modes are
TransferMode.TRANSFER_FILE: Will transfer the entire file when it has been modified.TransferMode.TRANSFER_FILE_DELTAS: Will only transfer sections of the file that have been modifiedTransferMode.TRANSFER_FILE_UNIQUE_NAME: Will transfer the entire file, but under a unique nameTransferMode.TRANSFER_FILE_DELTAS_UNIQUE_NAME: Will only transfer sections of the file that have been modified but store the new file with a unique name
- Parameters:
incrementalMode- int The desired incremental mode.- Throws:
java.lang.Exception
-
setIncrementalSizeCheckOnly
void setIncrementalSizeCheckOnly(boolean incrementalSizeCheckOnly) throws java.lang.ExceptionSetting this value will cause the MD5 checks to be skipped and the files compared using size only.- Parameters:
incrementalSizeCheckOnly-- Throws:
java.lang.Exception
-
setAutoZip
void setAutoZip(boolean autoZip)
Enables/disables auto zip feature. If this feature is enabled, prior to transferring, all files will be compressed into a single archive, transferred as one archive, and decompressed at the destination. Path structure will be maintained, as will file modification times. When using this feature in combination with setProgressive(true), FileCatalyst will beging to transfer the zip file before it is completely generated. This currently only works during uploads.- Parameters:
autoZip- boolean
-
setAutoUnzip
void setAutoUnzip(boolean autoUnzip)
Enables/disables auto unzip feature. When using this feature in combination with setAutoZip(true), if this feature is enabled, all files will be decompressed at the destination, otherwise if this feature is disable, all files won't be extracted and not deleted either.- Parameters:
autoUnzip- boolean
-
setTransferWithTempName
void setTransferWithTempName(boolean transferWithTempName)
With this option enabled, files will be uploaded with a temporary filename and renamed back to their original name when the transfer is complete. This allows other applications to identify files that are not complete.- Parameters:
transferWithTempName- boolean true/false to enable or disable this feature
-
setReadTimeout
void setReadTimeout(int millisecs)
This is the length of time the client will wait for a reply after sending a command to the FileCatalyst server.- Parameters:
millisecs- int New timeout value (in millisecs)
-
setExtendedReadTimeout
void setExtendedReadTimeout(int millisecs)
This is the length of time the client will wait for a reply after sending a long running command (such as MD5, MKDLT, MKSIG, ZIP, UNZIP) to the FileCatalyst server. Minimum value is 600000 (10 minutes). Any attempt to set a value lower than this will automatically be increased to 600000.- Parameters:
millisecs- int New timeout value (in millisecs).
-
setVerifyMode
void setVerifyMode(int verifyMode)
Sets the integrity verification mode- Parameters:
verifyMode- int Sets the desired mode, TransferMode.VERIFY_AFTER or TransferMode.VERIFY_ON_THE_FLY.- See Also:
TransferMode
-
setServletLocation
void setServletLocation(java.lang.String servletLocation)
FileCatalyst has the ability to upload using the HTTP/S protocol as long as the FileCatalyst Servlet application is installed and properly configured. This method allows you to set the URL of the FileCatalyst Servlet. Note that you must set the servlet location prior to calling connect(). You must also set the transfer mode to HTTP.- Parameters:
servletLocation- String The URL of the FileCatalyst Servlet
-
setServletLocation
void setServletLocation(java.lang.String servletLocation, java.lang.String servletSessionID, java.lang.String welcomeMessage)FileCatalyst has the ability to upload using the HTTP/S protocol as long as the FileCatalyst Servlet application is installed and properly configured. This method allows you to set the URL of the FileCatalyst Servlet. Note that you must set the servlet location prior to calling connect(). You must also set the transfer mode to HTTP.- Parameters:
servletLocation- String The URL of the FileCatalyst ServletservletSessionID- If s session was already established that should be re-used, this session id should be setwelcomeMessage- When connecting with pre-connected Servlet session, you may pass the welcome message to the FCClient as well so it can detect whether this is a FileCatalyst server or not as well as extract the version string.
-
setLocalWorkingDirectory
@Deprecated default void setLocalWorkingDirectory(java.lang.String localWorkingDirectory) throws java.io.IOExceptionDeprecated.Method is deprecated. Please usesetLocalWorkingDirectory(Path)insteadSets the Local Working directory. This directory is used as a base path during uploads or downloads. For example, if you specify an upload of the folder "/path1/path2" and you have set the working directory to "/path1" then the file will appear on the destination server as "/path2". If you had a local working directory of "/" then the entire path would be created on the destination server. Note: Call will attempt to create the directory if it doesn't currently exist- Parameters:
localWorkingDirectory- String The desired local working directory- Throws:
java.io.IOException- Since:
- 2.6
-
setLocalWorkingDirectory
void setLocalWorkingDirectory(java.nio.file.Path localWorkingDirecctory) throws java.io.IOExceptionSets the Local Working directory. This directory is used as a base path during uploads or downloads. For example, if you specify an upload of the folder "/path1/path2" and you have set the working directory to "/path1" then the file will appear on the destination server as "/path2". If you had a local working directory of "/" then the entire path would be created on the destination server. Note: Call will attempt to create the directory if it doesn't currently exist- Parameters:
localWorkingDirectory- String The desired local working directory- Throws:
java.io.IOException- Since:
- 2.6
-
setDeleteAfterTransfer
void setDeleteAfterTransfer(boolean deleteAfterTransfer)
With this option enabled, source files will be deleted after the transfer is complete. If the transfer is an upload, the local files will be deleted. If the transfer is a download, the remote files will be deleted.- Parameters:
deleteAfterTransfer- boolean Enables/disables the delete after transfer option
-
setProgressiveTransfers
void setProgressiveTransfers(boolean progressiveTransfers)
With this option enabled, upon completion of an upload or download, FileCatalyst will compare the size of the source file to the size when it began the transfer. If the file has grown, it will continue to transfer the new data until the file is no longer growing. In this way, it is able to download or upload files that are curently being copied, or are currently being encoded.- Parameters:
progressiveTransfers- boolean boolean Enables/disables the progressive transfer option
-
setIncomingDataPort
void setIncomingDataPort(int inDataPort)
Sets the port used for incoming UDP packets on downloads. If not set the default port is 9000.- Parameters:
data- .incomingDataPort int The port used for incoming UDP packets on downloads
-
setIncomingDataPorts
void setIncomingDataPorts(int[] inDataPorts)
Sets the port used for incoming UDP packets on downloads. Allows for multiple data ports to be selected to have more than one receiver socket open for incoming streams.- Parameters:
data- .incomingDataPort int The port used for incoming UDP packets on downloads
-
setServletMultiplier
void setServletMultiplier(int servletMultiplier)
When uploading in HTTP mode using FileCatalyst Servlet, this option allows the upload buffer size to be tuned.- Parameters:
servletMultiplier- int multiplier value used to tune upload buffer
-
setClientConnectKey
void setClientConnectKey(java.lang.String clientConnectKey)
This key must be set in order to connect to non-FileCatalyst servers. This method must be called prior to called connect() or the key will not have any effect.- Parameters:
clientConnectKey- String Client connect key
-
setClientIdentifier
void setClientIdentifier(int clientIdentifier)
An ID value that identifies this client to the FileCatalyst Server.- Parameters:
clientIdentifier- int
-
setCongestionControlAggression
void setCongestionControlAggression(int congestionControlAggression)
Specifies an aggression factor between 1 (passive) and 10 (aggressive) used by the congestion control mechanism to determine how passive or aggressive it should be in the face of network congestion.- Parameters:
congestionControlAggression- int Aggression factor between 1 and 10.
-
setTransferWithTempName
void setTransferWithTempName(boolean transferWithTempName, int tempMode)With this option enabled, files will be uploaded with a temporary filename and renamed back to their original name when the transfer is complete. This allows other applications to identify files that are not complete.- Parameters:
transferWithTempName- boolean true/false to enable or disable this featuretempMode- int Sets the desired mode, TransferMode.PREFIX or TransferMode.SUFFIX.- See Also:
TransferMode
-
getMaxRetries
int getMaxRetries()
Returns the number of times to retry a broken or interrupted transfer. Transfers will be reattempted upto the max number of retries before ultimately failing the transfer
Default value for max retries is 10- Returns:
- the maxRetries
-
setMaxRetries
void setMaxRetries(int maxRetries)
Specify the number of times to retry a broken or interrupted transfer. Transfers will be reattempted upto the max number of retries before ultimately failing the transfer
Default value for max retries is 10- Parameters:
maxRetries- the maxRetries to set
-
getWaitRetry
long getWaitRetry()
Returns the amount of milliseconds to wait between retries for failed transfers.- Returns:
- the waitRetry
-
isForceTCPmodeACKs
boolean isForceTCPmodeACKs()
Returns true if TCP mode ACKs are enabled. If option is enabled, transfers will instead use TCP acknowledgement messages (ACKs) to confirm that data is received during the transfer. If the option is disabled, then transfer will use the default UDP ACK messages to ensure data is transferred.Note: In some cases UDP notifications may be blocked. If this is the case you may force the client to use TCP mode ACKs.
- Returns:
- true if TCP mode ACKs are enabled
-
setForceTCPmodeACKs
void setForceTCPmodeACKs(boolean forceTCPmodeACKs)
By default, FileCatalyst uses UDP to acknowledge data received. If option is enabled, transfers will instead use TCP acknowledgement messages (ACKs) to confirm that data is received during the transfer. If the option is disabled, then transfer will use the default UDP ACK messages to ensure data is transferred.Note: In some cases UDP notifications may be blocked. If this is the case you may force the client to use TCP mode ACKs.
- Parameters:
forceTCPmodeACKs- true if TCP mode ACKs should be used
-
setWaitRetry
void setWaitRetry(long waitRetry)
Sets the amount of time in milliseconds to wait before the client attempts to retry a failed transfer- Parameters:
waitRetry- the waitRetry to set
-
getZipFileSizeLimit
long getZipFileSizeLimit()
Returns the zip file size limit in bytes. This zip file size limit is the maximum size that a zip file can be once it is created. If a zip file exceeds this value it will be split into multiple zips, and transferred in pieces- Returns:
- the zipFileSizeLimit in bytes
- Since:
- 2.8.0
-
setZipFileSizeLimit
void setZipFileSizeLimit(long zipFileSizeLimit)
Sets the zip file size limit to the value specified. This zip file size limit is the maximum size that a zip file can be once it is created. If a zip file exceeds this value it will be split into multiple zips, and transferred in pieces- Parameters:
zipFileSizeLimit- the zipFileSizeLimit (in bytes) to set- Since:
- 2.8.0
-
isUseCongestionControl
@Deprecated boolean isUseCongestionControl()
Deprecated.Returns true if congestion control is currently enabled.- Returns:
- true if congestion control is currently enabled.
-
setUseCongestionControl
@Deprecated void setUseCongestionControl(boolean useCongestionControl)
Deprecated.Enables/disables congestion control for this client. When enabled, the client will automatically decrease its transmission or reception rate when congestion is detected. Future versions will allow finer grain control over the reaction algorithm. Congestion control is set to true by default.- Parameters:
useCongestionControl- boolean value used to turn congestion control on/off
-
setUnitSize
@Deprecated void setUnitSize(int unitSize)
Deprecated.Use setPacketSize()- Parameters:
unitSize- int value used to set the Unit Size. In Bytes.
-
isUseCompression
@Deprecated boolean isUseCompression()
Deprecated.Returns true if compression is enabled, false otherwise.- Returns:
- boolean True if compression is enabled, false otherwise.
-
getNumUDPSockets
@Deprecated int getNumUDPSockets()
Deprecated.Return the number of Sender sockets to use- Returns:
- the Number of UDP Sockets currently set
-
setNumUDPSockets
@Deprecated void setNumUDPSockets(int numUDPSockets)
Deprecated.Sets the number of UDP sockets to use when uploading a file in UDP mode. Increasing the number of sockets used may boost performance at high speeds (i.e. greater than 500 Mbps)- Parameters:
numUDPSockets- the Number of UDP Sockets to set
-
getNumThreads
@Deprecated int getNumThreads()
Deprecated.Returns the number of threads that will be used at most for each FC transmission.- Returns:
- the number of threads that will be used at most for each FC transmission.
-
setNumThreads
@Deprecated void setNumThreads(int numThreads)
Deprecated.This value determines how many blocks will be sent into the pipe before redundant data will be sent. In high RTT environments, this value multiplied by the block size should be higher than the product of the RTT and the target rate. Depending on the speed and spec of the disk, it may be advantageous to have more threads with a higher block size or vise versa. Number of threads is set to 5 by default.- Parameters:
numThreads- Number of block sender threads to start for each transmission.
-
setUseCompression
@Deprecated void setUseCompression(boolean useCompression)
Deprecated.Enables/disables on the fly compression. When enabled, each block of data will be compressed on the fly before it is sent over the network.- Parameters:
useCompression- boolean true/false to enable/disable compression.
-
setCompFileFilter
void setCompFileFilter(java.lang.String compFileFilter)
Sets the compression FileFilter that is to be used by the implementation- Parameters:
compFileFilter- Filter to set
-
getCompFileFilter
java.lang.String getCompFileFilter()
Sets the compression FileFilter that is to be used by the implementation. If a file is queued for compression and sucessfully passes this filter, it will be compressed prior to transferring. If the file is doesn't pass the filter, then it is not compressed, but is still transferred- Returns:
- Current compression file filter
-
setTransferEmptyDirectories
void setTransferEmptyDirectories(boolean transferEmptyDirectories)
Sets whether or not the implementation should transfer empty directories- Parameters:
transferEmptyDirectories- Boolean value to set
-
getTransferEmptyDirectories
boolean getTransferEmptyDirectories()
Returns whether not the implementation is set to transfer empty directories.- Returns:
- True if implementation will transfer empty directories, false if not
-
setPostURL
void setPostURL(java.lang.String postURL)
Sets the current post URL to the value that is defined- Parameters:
postURL- New postURL to use
-
getPostURL
java.lang.String getPostURL()
Returns the current post URL to use- Returns:
-
setMd5RateLimit
void setMd5RateLimit(int md5RateLimit)
Sets the rate limit to use when calculating MD5s of files- Parameters:
md5RateLimit- Limit to use
-
getMd5RateLimit
int getMd5RateLimit()
Returns the current MD5 that is set. Limit is used to limit the amount of CPU usage and speed that for MD5s- Returns:
- Current MD5 rate that is set
-
setRenameExtension
void setRenameExtension(boolean renameExtension)
Sets whether or not the rename extension should be used- Parameters:
renameExtension- Enabled boolean
-
getRenameExtension
boolean getRenameExtension()
Returns whether or not the rename extension will be used. If true, transfers of files with the extension .RDY will rename both the source and destination files to have the extension .PKD- Returns:
- Boolean dictating the use of the rename extension
-
getTransferRate
int getTransferRate()
Returns the implementation's current transfer rate- Returns:
- The current rate
-
getBlastRate
@Deprecated int getBlastRate()
Deprecated.Method deprecated. UsegetTransferRate()insteadReturns the implementation's current blast rate- Returns:
- Current transfer rate
-
getServerAgentID
java.lang.String getServerAgentID()
Returns the server's current agent ID. Used with Central monitoring and management- Returns:
- Server agent ID
-
getSessionID
java.lang.String getSessionID()
Returns the current session ID of the implementation- Returns:
- The session ID
-
getSessionCount
int getSessionCount()
Returns the current number of active sessions that the implementation has- Returns:
- Current number of sessions
-
getFileFilter
FileCatalystFileFilter getFileFilter()
Returns the current file filter that is used to filter out information for a transfer. If a file is queued for transfer and passes the filter's current settings, then it will transferred. Otherwise it will be ignored.- Returns:
- Current file filter
-
setPostTaskSentData
void setPostTaskSentData(PostTaskSentData data)
Sets the current post task sent data to the specified value- Parameters:
data-
-
getPostTaskSentData
PostTaskSentData getPostTaskSentData()
Returns the current post task sent data
-
isTransferEmptyDirectories
boolean isTransferEmptyDirectories()
Returns whether or not the implementation should be transferring empty directories- Returns:
- true or false
-
getProgressiveTimeout
int getProgressiveTimeout()
Returns the current progressive timeout value. The value determines how many seconds we will wait for files to stop growing- Returns:
-
getProgressiveTimeoutFilter
java.lang.String getProgressiveTimeoutFilter()
Returns the current progressive timeout filter. Value determines the file that will be included in progressive file growth checks- Returns:
-
setProgressiveTimeout
void setProgressiveTimeout(int progressiveTimeout)
Sets the current progressive timeout to the value supplied- Parameters:
progressiveTimeout- New timeout to set
-
setProgressiveTimeoutFilter
void setProgressiveTimeoutFilter(java.lang.String progressiveTimeoutFilter)
Sets the current progressive timeout filter to the value that is set to- Parameters:
progressiveTimeoutFilter- Filter to set
-
setClientName
void setClientName(java.lang.String clientName)
Sets the current client name to the value that is specified- Parameters:
clientName- Name to set
-
setClientWorkingPath
void setClientWorkingPath(java.nio.file.Path clientWorkingPath)
Sets the client's current working path to the value specified- Parameters:
clientWorkingPath- Working path to set
-
getClientName
java.lang.String getClientName()
Used for HotFolder Reporting, And CSV Reports
-
setClientAgentID
void setClientAgentID(java.lang.String clientAgentID)
Sets the current client agent ID to the new specified value. Do note that this ID value is used to distinguish this client and it's transfers from other clients in the reports- Parameters:
clientAgentID- New ID to set
-
setServerAgentID
void setServerAgentID(java.lang.String serverAgentID)
Sets the server agent ID to the new value- Parameters:
serverAgentID- New value to set
-
setSessionID
void setSessionID(java.lang.String sessionID)
Sets the session ID to the specified value.- Parameters:
sessionID-
-
getTempMode
int getTempMode()
Returns the temporary mode for the implementation- Returns:
-
isIncrementalSizeCheckOnly
boolean isIncrementalSizeCheckOnly()
Returns whether or not incremental has been set to use the size only option- Returns:
-
lastServerRestrictedRate
int lastServerRestrictedRate()
Returns the last rate (kbps) that the Server had replied with. This rate takes into account what the server is imposing during a transfer bandwidth speed.
-
isServerOverridebandwidth
boolean isServerOverridebandwidth()
Returns whether or not the server has specified that the bandwidth should be overridden. If true, then the bandwidth allocated to the client will be the value specified by the current server override bandwidth. If false, then the client will attempt to transfer at the rate specified by the target rate.- Returns:
- true if the server is overriding the bandwidth during a transfer, always false if no transfer is happening.
-
getServerOverrideBandwidth
int getServerOverrideBandwidth()
Returns the override bandwidth value that has been specified by server. If isServerOverrideBandwith() == false, then 0 is returned- Returns:
- if isServerOverridebandwidth() is true returns the serverOverrideBandwidth otherwise returns 0;
-
setTransferToServerOverride
void setTransferToServerOverride(int serverOverrideBW)
Sets bandwidth value that the Server is attempting to override this client to. If the isServerOverrideBandwidth() returns true, then the client will attempt to transfer at the specified by the server override. Otherwise, it will attempt to transfer at the defined target rate.- Parameters:
serverOverrideBW- Kbps bandwidth value
-
setUserRelativePriority
void setUserRelativePriority(int priority)
This priority hint is to help the server distribute bandwidth within its own set parameters. The scope of the hint is for all sessions with this client's agent ID connecting to this client's user.- Parameters:
priority- hint for server to distribute bandwidth when it would normally split it evenly.
-
getUserRelativePriority
int getUserRelativePriority()
This priority hint is to help the server distribute bandwidth within its own set parameters. The scope of the hint is for all sessions with this client's agent ID connecting to this client's user.- Returns:
- priority hint for server to distribute bandwidth when it would normally split it evenly.
-
setTaskID
void setTaskID(java.lang.String taskID)
Sets the current task ID to the new value supplied- Parameters:
taskID-
-
getTaskID
java.lang.String getTaskID()
Returns the current task ID- Returns:
-
getFileTransferPriority
int getFileTransferPriority()
Returns the task file transfer priority- Returns:
-
setFileTransferPriority
void setFileTransferPriority(int fileTransferPriority)
Sets the FileTransferPrioriry to new new value. .Valid values are as follows:
- 0 = Oldest files are transferred first
- 1 = Newest files are transferred first
- 2 = Smallest files are transferred first
- 3 = Largest files are transferred first
- 4 = No Priority for files
- Parameters:
fileTransferPriority-
-
getForceFileOwnershipUser
java.lang.String getForceFileOwnershipUser()
Returns the username to be used when attempting to force file ownership for files downloaded by the client- Returns:
- the forceFileOwnershipUser
-
setForceFileOwnershipUser
void setForceFileOwnershipUser(java.lang.String forceFileOwnershipUser)
Sets the username to be used when attempting to force file ownership for files downloaded by the client- Parameters:
forceFileOwnershipUser- the forceFileOwnershipUser to set
-
getForceFileOwnershipGroup
java.lang.String getForceFileOwnershipGroup()
Returns the groupname / groupID to be used when attempting to force group level ownership for files downloaded by the client.
Note: Value is ignored if on a Windows platform- Returns:
- the forceFileOwnershipGroup
-
setForceFileOwnershipGroup
void setForceFileOwnershipGroup(java.lang.String forceFileOwnershipGroup)
Sets the groupname / groupID to be used when attempting to force group level ownership for files downloaded by the client.
Note: Value is ignored if on a Windows platform
-
getAutoConnectClientFactory
default java.util.function.Supplier<FileTransferMechanism> getAutoConnectClientFactory()
- Returns:
- by default retuns a FileTransferMechanism factory that returns null FileTransferMechanisms
-
getClientIdentifier
int getClientIdentifier()
-
isMoveToSent
default boolean isMoveToSent()
-
-