|
| constructor (Qore::SSH2::SFTPClient n_sftp, hash nconf) |
| creates the SftpPoller object from the SFTPClient argument and configuration hash argument passed More...
|
|
| constructor (hash nconf) |
| creates the SftpPoller object from the configuration hash argument passed More...
|
|
| destructor () |
| stops the polling operation if in progress and destroys the object
|
|
int | getPollCount () |
| returns the current poll count
|
|
private | logInfo (string fmt) |
| calls the "log_info" closure or call reference with important information
|
|
private | logDetail (string fmt) |
| calls the "log_detail" closure or call reference with detail information
|
|
private | logDebug (string fmt) |
| calls the "log_debug" closure or call reference with verbose debugging information
|
|
private | setMask () |
| converts a glob mask into a regex
|
|
int | getStoreFile (string remote_path, string local_path, *timeout n_timeout) |
| retrieves a remote file and stores it to a local path More...
|
|
string | getTextFile (string path, *timeout n_timeout, *string n_encoding) |
| retrieves a text file and returns the file's contents
|
|
binary | getFile (string path, *timeout n_timeout) |
| retrieves a binary file and returns the file's contents
|
|
| rename (string old, string nnew, *timeout n_timeout) |
| renames a file on the server
|
|
| removeFile (string fn, *timeout n_timeout) |
| deletes a file on the server
|
|
*hash | stat (string path, *timeout n_timeout) |
| returns information about a remote file (see Qore::SSH2::SFTPClient::stat() for a description of the return format)
|
|
| checkRemotePath (string path, bool write=False, *timeout n_timeout) |
| check if a remote path is writable More...
|
|
list | getFiles (int sort=SftpPoller::SortNone, int order=SftpPoller::OrderAsc) |
| returns a list of regular file hashes matching any file name mask set for the object More...
|
|
int | start () |
| starts polling in the background; returns the thread ID of the polling thread More...
|
|
| stopNoWait () |
| stops the polling operation, returns immediately More...
|
|
| stop () |
| stops the polling operation, returns when the polling operation has been stopped More...
|
|
| waitStop () |
| waits indefinitely for the polling operation to stop; if polling was not in progress then this method returns immediately More...
|
|
| startInline () |
| starts the polling operation inline (not in a background thread) More...
|
|
bool | runOnce () |
| runs a single poll (useful for checking for errors inline before starting a background thread)
|
|
private | sftpSleep (softint secs) |
| sleeps for the specificed number of seconds
|
|
private | run () |
| starts the polling operation
|
|
*bool | fileEvent (list l) |
| called for each poll with a list of all files matched before transfer; if this method returns False or nothing, then the singleFileEvent method is not called
|
|
abstract | singleFileEvent (hash fih) |
| called for each matching file individually whenever matching files are polled with the list of matching file names; if any error occurs here, the error is logged and the polling operation is retried More...
|
|
abstract | postSingleFileEvent (hash fih) |
| called after singleFileEvent() for each matching file individually whenever matching files are polled with the list of matching file names; if any error occurs here, the polling operation stops More...
|
|
|
string | host |
| host or address name
|
|
int | port |
| port
|
|
string | user |
| user
|
|
string | url |
| url
|
|
*string | pass |
| password; one of "pass" or "keyfile" *must* be set
|
|
*string | keyfile |
| path to the ssh private key in PEM format; one of "pass" or "keyfile" *must* be set
|
|
softlist | path = "." |
| path(s) to poll
|
|
string | rootSftpPath |
| path after connect to SFTP server
|
|
*string | mask |
| file glob name mask (ignored if "regex_mask" also set)
|
|
int | poll_interval |
| poll interval in seconds
|
|
bool | runflag = False |
| run flag
|
|
bool | get_files |
| internal "get files" flag
|
|
bool | fatal = False |
| internal fatal error flag
|
|
int | pollcnt = 0 |
| internal poll counter
|
|
int | tid |
| polling tid
|
|
timeout | timeout |
| timeout in ms
|
|
Qore::SSH2::SFTPClient | sftp |
| SFTPClient object.
|
|
int | reopts = 0 |
| file matching regex options
|
|
*softint | minage |
| minimum file age
|
|
*string | encoding |
| file encoding for text files
|
|
*code | log_info |
| optional info log closure
|
|
*code | log_detail |
| optional detail log closure
|
|
*code | log_debug |
| optional debug log closure
|
|
*code | start_thread |
| optional start thread closure
|
|
*code | sleep |
| optional sleep closure
|
|
bool | binary |
| binary transfer flag (for singleFileEvent())
|
|
bool | writable |
| chech if path is writable for others in constructor
|
|
string | check_file |
| name of check writable file
|
|
SftpPoller client class implementation.
abstract SftpPoller::SftpPoller::postSingleFileEvent |
( |
hash |
fih | ) |
|
|
pure virtual |
called after singleFileEvent() for each matching file individually whenever matching files are polled with the list of matching file names; if any error occurs here, the polling operation stops
This method would normally delete / rename / move files processed by singleFileEvent() so that they would not be polled a second time. If an error occurs in this operation, then the polling event will stop since continuing after failing to delete, rename, or move a file already processed would cause the file to be processed more than once.
- Parameters
-
fih | a hash of file data and information with the following keys:
name: the name of the file, link, or directory
size: the size of the file in bytes
uid: the UID of the owner of the file
gid: the GID of the owner of the file
mode: the permissions / mode of the file
atime: the last accessed date/time of the file
mtime: the last modified date/time of the file
type: the type of file; one of: "REGULAR" , "DIRECTORY" , "SYMBOLIC-LINK" , "BLOCK-DEVICE" , "CHARACTER-DEVICE" , "FIFO" , "SYMBOLIC-LINK" , "SOCKET" , or "UNKNOWN"
perm: a string giving UNIX-style permissions for the file (ex: "-rwxr-xr-x")
data: the file's data; this will be a string unless the "binary" option is set to True, in which case this key is assigned to the files binary data
filepath: the remote filepath relative to SFTP root directory
|