Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: Minor corrections to text

...

In some file transfer scenarios the recipient of a file does not know when the sender creates the file. In case of (very) large files the recipient may try to read the file before the sender has finished writing it. This can result in the recipient retrieving an incomplete file.

Setting Including the CheckSteadyState parameter to true ensures that the file is checked at its reception point for completeness before starting the transfer.

Note that this is not a very reliable approach, because the recipient checks the date of last modification and the size of the file. If neither changes during a specified a period of time the file is assumed to be complete. However, if transmission is terminated without the file being completely written, the network goes down or the processing speed of the file is slow, the receiver will get a corrupted file.

Alternative solutions:

  • A better approach for avoiding corrupt files is to use the atomic method: writing a file and then renaming the file after writing has been completed. For more details about this method see Atomicity.
  • If more than one file is to be transferred, the transactional approach is the first better choice. See the transactional parameter.