Skip to main content

bssh_russh_sftp/
lib.rs

1//! SFTP subsystem with client and server support for Russh and more!
2//!
3//! Crate can provide compatibility with anything that can provide the raw data
4//! stream in and out of the subsystem channel.
5//!
6//! The client implementation contains:
7//!
8//! * Standard communication via [RawSftpSession](crate::client::RawSftpSession) which provides methods
9//!   for sending and receiving a packet in place.
10//! * [High level](crate::client::SftpSession) is similar to [`std::fs`] and has almost all the same
11//!   implementations. Implements Async I/O for interaction with files. The main idea is to abstract
12//!   from all the nuances and flaws of the SFTP protocol. This also takes into account the extension
13//!   provided by the server provided by the server such as `limits@openssh.com` and `fsync@openssh.com`.
14//!
15//! You can find more examples in the repository.
16
17#[macro_use]
18extern crate log;
19#[macro_use]
20extern crate bitflags;
21#[macro_use]
22extern crate serde;
23
24mod buf;
25/// Client side
26pub mod client;
27pub mod de;
28mod error;
29pub mod extensions;
30/// Protocol implementation
31pub mod protocol;
32pub mod ser;
33/// Server side
34#[cfg(not(target_arch = "wasm32"))]
35pub mod server;
36mod utils;