Skip to main content

Module sftp

Module sftp 

Source
Expand description

SFTP framing with the send and receive halves deliberately separate.

Nothing here pairs a request with its reply. That is the entire point. A page needs N subresources, and issuing all N requests before reading any reply is what holds the remote round trips at O(1) instead of O(N). An API that pairs one call to one reply — what every convenient sftp wrapper offers — puts that invariant out of reach, so this layer does not provide one.

Sftp is the sequential form, used by the measurement binary. For concurrent callers the halves are split apart and driven by tasks; see crate::fs::sftp.

Modules§

transport
Transport is ssh <host> -s sftp.
wire
SFTP v3 wire format.

Structs§

Reply
Rx
Read half. Replies arrive in whatever order the server finishes them, which is why every reply carries the request id back.
Sftp
Tx
Write half. queue buffers; only flush reaches the wire, so one flush can carry an arbitrary number of requests.

Functions§

read_frame
write_frame