pub trait RemoteFilesystemClient {
Show 13 methods
// Required methods
fn authenticated(&self) -> bool;
fn capabilities(&self) -> FilesystemCapabilities;
fn stat(&self, path: &str) -> Result<FilesystemEntry, FileError>;
fn read(&self, path: &str) -> Result<Vec<u8>, FileError>;
fn write(
&self,
path: &str,
bytes: Vec<u8>,
options: WriteOptions,
mutation: &FilesystemMutationContext,
) -> Result<FilesystemMutation, FileError>;
fn entries_page(
&self,
path: &str,
request: &FilesystemPageRequest,
) -> Result<FilesystemEntryPage, FileError>;
fn mkdir(
&self,
path: &str,
options: MkdirOptions,
mutation: &FilesystemMutationContext,
) -> Result<FilesystemMutation, FileError>;
fn delete(
&self,
path: &str,
options: DeleteOptions,
mutation: &FilesystemMutationContext,
) -> Result<FilesystemMutation, FileError>;
fn copy(
&self,
source: &str,
target: &str,
options: CopyOptions,
mutation: &FilesystemMutationContext,
) -> Result<FilesystemMutation, FileError>;
fn move_entry(
&self,
source: &str,
target: &str,
options: MoveOptions,
mutation: &FilesystemMutationContext,
) -> Result<FilesystemMutation, FileError>;
fn close(&self) -> Result<(), FileError>;
// Provided methods
fn host_key_verified(&self) -> bool { ... }
fn transport_verified(&self) -> bool { ... }
}Expand description
Host-owned authenticated transport capability for a remote filesystem.
Implementations must keep credentials and transport details private. The methods return only provider-neutral values so callers cannot accidentally expose access tokens, URLs, or provider-specific response objects.
Required Methods§
fn authenticated(&self) -> bool
fn capabilities(&self) -> FilesystemCapabilities
fn stat(&self, path: &str) -> Result<FilesystemEntry, FileError>
fn read(&self, path: &str) -> Result<Vec<u8>, FileError>
fn write( &self, path: &str, bytes: Vec<u8>, options: WriteOptions, mutation: &FilesystemMutationContext, ) -> Result<FilesystemMutation, FileError>
fn entries_page( &self, path: &str, request: &FilesystemPageRequest, ) -> Result<FilesystemEntryPage, FileError>
fn mkdir( &self, path: &str, options: MkdirOptions, mutation: &FilesystemMutationContext, ) -> Result<FilesystemMutation, FileError>
fn delete( &self, path: &str, options: DeleteOptions, mutation: &FilesystemMutationContext, ) -> Result<FilesystemMutation, FileError>
fn copy( &self, source: &str, target: &str, options: CopyOptions, mutation: &FilesystemMutationContext, ) -> Result<FilesystemMutation, FileError>
fn move_entry( &self, source: &str, target: &str, options: MoveOptions, mutation: &FilesystemMutationContext, ) -> Result<FilesystemMutation, FileError>
fn close(&self) -> Result<(), FileError>
Provided Methods§
Sourcefn host_key_verified(&self) -> bool
fn host_key_verified(&self) -> bool
SFTP clients must override this with their host-key verification result.
Sourcefn transport_verified(&self) -> bool
fn transport_verified(&self) -> bool
HTTPS/WebDAV clients must override this when certificate or endpoint verification is not guaranteed by the host transport.
Dyn Compatibility§
This trait is dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety".