Quite often you need to do a file transfer over a less reliable network. From time to time there may be timeouts or server's reboots, in which case you simply would like to wait a bit and retry. Only after 10 retries, you are willing to give up and abort the job. It sounds like a typical "loop" was the right tool to solve the situation.
The package implements this kind of loop. The file transfer is like a transaction if it fails data is deleted and file transfer is restarted up to 10 times after 5 minutes pause. 5 minutes is usually enough to restart the server.