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:

Modules

Changelog for this crate.

Structs

Return (id, res).
Awaitable
Return (id, res).
Return (id, res).
Return (id, res).
Awaitable
Return (id, res).
Return (id, res).
The extension that the sftp-server supports.
Request Id
Payload of extended reply response when crate::request::RequestInner::Limits is sent.
The ReadEnd for the lowlevel API.
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

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.