The goal of this method is to hide some implementation details of FTP
server systems from the programmer. In particular, many FTP systems
will automatically disconnect a user after a relatively short idle
time or after a transfer is aborted. In this case,
Net::FTP::AutoReconnect will simply reconnect, send the commands
necessary to return your session to its previous state, then resend
the command. If that fails, it will return the error.
It makes no effort to determine what sorts of errors are likely to
succeed when theyre retried. Partly thats because its hard to
know; if youre retreiving a file from an FTP site with several
mirrors and the file is not found, for example, maybe on the next try
youll connect to a different server and find it. But mostly its
from laziness; if you have some good ideas about how to determine when
to retry and when not to bother, by all means send patches.
This module contains an instance of Net::FTP, which it passes most
method calls along to.
These methods also record their state: alloc, ascii,
authorize, binary, cdup, cwd, hash,
login,restart, pasv, port. Directory changing commands
execute a pwd afterwards and store their new working directory.
These methods are automatically retried: alloc, appe, append,
ascii, binary, cdup, cwd, delete, dir, get,
list, ls, mdtm, mkdir, nlst, pasv, port, put,
put_unique, pwd, rename, retr, rmdir, size, stou,
These methods are tried just once: abort, authorize, hash,
login, pasv_xfer, pasv_xfer_unique, pasv_wait, quit,
restart, site, unique_name. From Net::Cmd: code,
message, ok, status. restart doesnt actually send any
FTP commands (theyre sent along with the command they apply to),
which is why its not restarted.
Any other commands are unimplemented (or possibly misdocumented); if I
missed one youd like, please send a patch.