Expand description

This crate provides a set of APIs to access the remote filesystem using the sftp protocol and is implemented in pure Rust.

It supports sending multiple requests concurrently using WriteEnd (it can be WriteEnd::cloned), however receiving responses have to be done sequentially using ReadEnd::read_in_one_packet.

To create WriteEnd and ReadEnd, simply pass the stdin and stdout of the sftp-server launched at remote to connect.

This crate supports all operations supported by sftp v3, in additional to the following extensions:

Structs

Return (id, res).

Return (id, res).

Return (id, res).

Return (id, res).

Return (id, res).

Return (id, res).

Return (id, res).

The extension that the sftp-server supports.

Payload of extended reply response when crate::request::RequestInner::Limits is sent.

SharedData contains both the writer and the responses because:

Default value is 1970-01-01 00:00:00 UTC.

It is recommended to create at most one WriteEnd per thread using WriteEnd::clone.

Enums

Buffer that can be used to write data into.

Constants

Default size of buffer for up/download in openssh-portable

Default length of download buffer in openssh-portable

Default number of concurrent outstanding requests in openssh-portable

Default length of upload buffer in openssh-portable

Maximum depth to descend in directory trees in openssh-portable

Minimum amount of data to read at a time in openssh-portable

Traits

Any type that can act as a buffer.

Functions

Initialize connection to remote sftp server and negotiate the sftp version.

Initialize connection to remote sftp server and negotiate the sftp version.