Struct unftp_sbe_fs::Filesystem
source · pub struct Filesystem { /* private fields */ }
Expand description
The Filesystem struct is an implementation of the StorageBackend trait that keeps its files inside a specific root directory on local disk.
Implementations§
source§impl Filesystem
impl Filesystem
Trait Implementations§
source§impl Debug for Filesystem
impl Debug for Filesystem
source§impl<User: UserDetail> StorageBackend<User> for Filesystem
impl<User: UserDetail> StorageBackend<User> for Filesystem
source§fn supported_features(&self) -> u32
fn supported_features(&self) -> u32
Tells which optional features are supported by the storage back-end
Return a value with bits set according to the FEATURE_* constants.
source§fn metadata<'life0, 'life1, 'async_trait, P>(
&'life0 self,
_user: &'life1 User,
path: P
) -> Pin<Box<dyn Future<Output = Result<Self::Metadata>> + Send + 'async_trait>>where
P: 'async_trait + AsRef<Path> + Send + Debug,
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn metadata<'life0, 'life1, 'async_trait, P>(
&'life0 self,
_user: &'life1 User,
path: P
) -> Pin<Box<dyn Future<Output = Result<Self::Metadata>> + Send + 'async_trait>>where
P: 'async_trait + AsRef<Path> + Send + Debug,
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Returns the
Metadata
for the given file.source§fn list<'life0, 'life1, 'async_trait, P>(
&'life0 self,
_user: &'life1 User,
path: P
) -> Pin<Box<dyn Future<Output = Result<Vec<Fileinfo<PathBuf, Self::Metadata>>>> + Send + 'async_trait>>where
P: AsRef<Path> + Send + Debug + 'async_trait,
<Self as StorageBackend<User>>::Metadata: Metadata,
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn list<'life0, 'life1, 'async_trait, P>(
&'life0 self,
_user: &'life1 User,
path: P
) -> Pin<Box<dyn Future<Output = Result<Vec<Fileinfo<PathBuf, Self::Metadata>>>> + Send + 'async_trait>>where
P: AsRef<Path> + Send + Debug + 'async_trait,
<Self as StorageBackend<User>>::Metadata: Metadata,
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Returns the list of files in the given directory.
source§fn get<'life0, 'life1, 'async_trait, P>(
&'life0 self,
_user: &'life1 User,
path: P,
start_pos: u64
) -> Pin<Box<dyn Future<Output = Result<Box<dyn AsyncRead + Send + Sync + Unpin>>> + Send + 'async_trait>>where
P: 'async_trait + AsRef<Path> + Send + Debug,
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn get<'life0, 'life1, 'async_trait, P>(
&'life0 self,
_user: &'life1 User,
path: P,
start_pos: u64
) -> Pin<Box<dyn Future<Output = Result<Box<dyn AsyncRead + Send + Sync + Unpin>>> + Send + 'async_trait>>where
P: 'async_trait + AsRef<Path> + Send + Debug,
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Returns the content of the given file from offset start_pos.
The starting position will only be greater than zero if the storage back-end implementation
advertises to support partial reads through the supported_features method i.e. the result
from supported_features yield 1 if a logical and operation is applied with FEATURE_RESTART.
source§fn put<'life0, 'life1, 'async_trait, P, R>(
&'life0 self,
_user: &'life1 User,
bytes: R,
path: P,
start_pos: u64
) -> Pin<Box<dyn Future<Output = Result<u64>> + Send + 'async_trait>>where
P: 'async_trait + AsRef<Path> + Send,
R: 'async_trait + AsyncRead + Send + Sync + 'static + Unpin,
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn put<'life0, 'life1, 'async_trait, P, R>(
&'life0 self,
_user: &'life1 User,
bytes: R,
path: P,
start_pos: u64
) -> Pin<Box<dyn Future<Output = Result<u64>> + Send + 'async_trait>>where
P: 'async_trait + AsRef<Path> + Send,
R: 'async_trait + AsyncRead + Send + Sync + 'static + Unpin,
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Writes bytes from the given reader to the specified path starting at offset start_pos in the file
source§fn del<'life0, 'life1, 'async_trait, P>(
&'life0 self,
_user: &'life1 User,
path: P
) -> Pin<Box<dyn Future<Output = Result<()>> + Send + 'async_trait>>where
P: 'async_trait + AsRef<Path> + Send + Debug,
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn del<'life0, 'life1, 'async_trait, P>(
&'life0 self,
_user: &'life1 User,
path: P
) -> Pin<Box<dyn Future<Output = Result<()>> + Send + 'async_trait>>where
P: 'async_trait + AsRef<Path> + Send + Debug,
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Deletes the file at the given path.
source§fn rmd<'life0, 'life1, 'async_trait, P>(
&'life0 self,
_user: &'life1 User,
path: P
) -> Pin<Box<dyn Future<Output = Result<()>> + Send + 'async_trait>>where
P: 'async_trait + AsRef<Path> + Send + Debug,
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn rmd<'life0, 'life1, 'async_trait, P>(
&'life0 self,
_user: &'life1 User,
path: P
) -> Pin<Box<dyn Future<Output = Result<()>> + Send + 'async_trait>>where
P: 'async_trait + AsRef<Path> + Send + Debug,
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Deletes the given directory.
source§fn mkd<'life0, 'life1, 'async_trait, P>(
&'life0 self,
_user: &'life1 User,
path: P
) -> Pin<Box<dyn Future<Output = Result<()>> + Send + 'async_trait>>where
P: 'async_trait + AsRef<Path> + Send + Debug,
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn mkd<'life0, 'life1, 'async_trait, P>(
&'life0 self,
_user: &'life1 User,
path: P
) -> Pin<Box<dyn Future<Output = Result<()>> + Send + 'async_trait>>where
P: 'async_trait + AsRef<Path> + Send + Debug,
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Creates the given directory.
source§fn rename<'life0, 'life1, 'async_trait, P>(
&'life0 self,
_user: &'life1 User,
from: P,
to: P
) -> Pin<Box<dyn Future<Output = Result<()>> + Send + 'async_trait>>where
P: 'async_trait + AsRef<Path> + Send + Debug,
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn rename<'life0, 'life1, 'async_trait, P>(
&'life0 self,
_user: &'life1 User,
from: P,
to: P
) -> Pin<Box<dyn Future<Output = Result<()>> + Send + 'async_trait>>where
P: 'async_trait + AsRef<Path> + Send + Debug,
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Renames the given file to the given new filename.
source§fn cwd<'life0, 'life1, 'async_trait, P>(
&'life0 self,
_user: &'life1 User,
path: P
) -> Pin<Box<dyn Future<Output = Result<()>> + Send + 'async_trait>>where
P: 'async_trait + AsRef<Path> + Send + Debug,
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn cwd<'life0, 'life1, 'async_trait, P>(
&'life0 self,
_user: &'life1 User,
path: P
) -> Pin<Box<dyn Future<Output = Result<()>> + Send + 'async_trait>>where
P: 'async_trait + AsRef<Path> + Send + Debug,
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Changes the working directory to the given path.
source§fn name(&self) -> &str
fn name(&self) -> &str
Implement to set the name of the storage back-end. By default it returns the type signature.
source§fn md5<'life0, 'life1, 'async_trait, P>(
&'life0 self,
user: &'life1 User,
path: P
) -> Pin<Box<dyn Future<Output = Result<String, Error>> + Send + 'async_trait, Global>>where
'life0: 'async_trait,
'life1: 'async_trait,
P: AsRef<Path> + Send + Debug + 'async_trait,
Self: 'async_trait,
fn md5<'life0, 'life1, 'async_trait, P>(
&'life0 self,
user: &'life1 User,
path: P
) -> Pin<Box<dyn Future<Output = Result<String, Error>> + Send + 'async_trait, Global>>where
'life0: 'async_trait,
'life1: 'async_trait,
P: AsRef<Path> + Send + Debug + 'async_trait,
Self: 'async_trait,
Returns the MD5 hash for the given file. Read more
source§fn get_into<'a, 'life0, 'life1, 'async_trait, P, W>(
&'life0 self,
user: &'life1 User,
path: P,
start_pos: u64,
output: &'a mut W
) -> Pin<Box<dyn Future<Output = Result<u64, Error>> + Send + 'async_trait, Global>>where
'a: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
W: AsyncWrite + Unpin + Sync + Send + 'async_trait + ?Sized,
P: AsRef<Path> + Send + Debug + 'async_trait,
Self: 'async_trait,
fn get_into<'a, 'life0, 'life1, 'async_trait, P, W>(
&'life0 self,
user: &'life1 User,
path: P,
start_pos: u64,
output: &'a mut W
) -> Pin<Box<dyn Future<Output = Result<u64, Error>> + Send + 'async_trait, Global>>where
'a: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
W: AsyncWrite + Unpin + Sync + Send + 'async_trait + ?Sized,
P: AsRef<Path> + Send + Debug + 'async_trait,
Self: 'async_trait,
Gets the content of the given FTP file from offset start_pos file by copying it to the output writer.
The starting position will only be greater than zero if the storage back-end implementation
advertises to support partial reads through the supported_features method i.e. the result
from supported_features yield 1 if a logical and operation is applied with FEATURE_RESTART.