LibSftp
Folders and files
Name | Name | Last commit date | ||
---|---|---|---|---|
parent directory.. | ||||
1. Init ------- To wrap existing FDs pair or socket connected to SFTP server create new SftpClient object. SftpClient *sftp = new SftpClient(fdin, fdout); sftp -> connect(); ... some work here ... delete sftp; 2. Synchronous requests (low-level API) --------------------------------------- Below methods maps to related basic SFTP requests: SSH2_FXP_OPEN |-> sftp -> open() SSH2_FXP_CLOSE |-> sftp -> close() SSH2_FXP_READ |-> sftp -> read() SSH2_FXP_WRITE |-> sftp -> write() SSH2_FXP_OPENDIR |-> sftp -> opendir() SSH2_FXP_READDIR |-> sftp -> readiir() SSH2_FXP_REMOVE |-> sftp -> remove() SSH2_FXP_MKDIR |-> sftp -> mkdir() SSH2_FXP_RMDIR |-> sftp -> rmdir() SSH2_FXP_STAT |-> sftp -> stat() SSH2_FXP_RENAME |-> sftp -> rename() 3. Asynchronous requests (high-level API) ----------------------------------------- There high-level API on top of basic SFTP requests from [2] to run SFTP job asynchronous in background threads. A. Download job: sftp -> downloadFile(..., callback) B. Upload job: sftp -> uploadFile(..., callback) C. List job: sftp -> listFiles(..., callback) Callback function is called when: - job changed its states (e.g. job finished or error occured) - new transfer statistics arrived (upload/download jobs) - new portion of file list arrived (list job) To cancel pending job use job -> cancel() method. WARNING: All SftpJob objects MUSTS be freed by job -> release() when no needed longer.