pub struct LocalFsBackend { /* private fields */ }Expand description
Local filesystem backend for development and testing.
Implementations§
Source§impl LocalFsBackend
impl LocalFsBackend
Sourcepub fn new(config: FileSystemConfig) -> Self
pub fn new(config: FileSystemConfig) -> Self
Creates a new LocalFsBackend rooted at the directory in config.
Trait Implementations§
Source§impl Backend for LocalFsBackend
impl Backend for LocalFsBackend
Source§fn put_object<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
id: &'life1 ObjectId,
metadata: &'life2 Metadata,
stream: ClientStream,
) -> Pin<Box<dyn Future<Output = Result<PutResponse>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
fn put_object<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
id: &'life1 ObjectId,
metadata: &'life2 Metadata,
stream: ClientStream,
) -> Pin<Box<dyn Future<Output = Result<PutResponse>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
Stores an object at the given path with the given metadata.
Source§fn get_object<'life0, 'life1, 'async_trait>(
&'life0 self,
id: &'life1 ObjectId,
) -> Pin<Box<dyn Future<Output = Result<GetResponse>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn get_object<'life0, 'life1, 'async_trait>(
&'life0 self,
id: &'life1 ObjectId,
) -> Pin<Box<dyn Future<Output = Result<GetResponse>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Retrieves an object at the given path, returning its metadata and a stream of bytes.
Source§fn delete_object<'life0, 'life1, 'async_trait>(
&'life0 self,
id: &'life1 ObjectId,
) -> Pin<Box<dyn Future<Output = Result<DeleteResponse>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn delete_object<'life0, 'life1, 'async_trait>(
&'life0 self,
id: &'life1 ObjectId,
) -> Pin<Box<dyn Future<Output = Result<DeleteResponse>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Deletes the object at the given path.
Source§fn get_metadata<'life0, 'life1, 'async_trait>(
&'life0 self,
id: &'life1 ObjectId,
) -> Pin<Box<dyn Future<Output = Result<MetadataResponse>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn get_metadata<'life0, 'life1, 'async_trait>(
&'life0 self,
id: &'life1 ObjectId,
) -> Pin<Box<dyn Future<Output = Result<MetadataResponse>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Retrieves only the metadata for an object, without the payload.
Source§impl Debug for LocalFsBackend
impl Debug for LocalFsBackend
Source§impl MultipartUploadBackend for LocalFsBackend
impl MultipartUploadBackend for LocalFsBackend
Source§fn initiate_multipart<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
id: &'life1 ObjectId,
metadata: &'life2 Metadata,
) -> Pin<Box<dyn Future<Output = Result<InitiateMultipartResponse>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
fn initiate_multipart<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
id: &'life1 ObjectId,
metadata: &'life2 Metadata,
) -> Pin<Box<dyn Future<Output = Result<InitiateMultipartResponse>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
Initiates a new multipart upload at
id with the given metadata.Source§fn upload_part<'life0, 'life1, 'life2, 'life3, 'async_trait>(
&'life0 self,
id: &'life1 ObjectId,
upload_id: &'life2 UploadId,
part_number: PartNumber,
content_length: u64,
_content_md5: Option<&'life3 str>,
body: ClientStream,
) -> Pin<Box<dyn Future<Output = Result<UploadPartResponse>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
'life3: 'async_trait,
fn upload_part<'life0, 'life1, 'life2, 'life3, 'async_trait>(
&'life0 self,
id: &'life1 ObjectId,
upload_id: &'life2 UploadId,
part_number: PartNumber,
content_length: u64,
_content_md5: Option<&'life3 str>,
body: ClientStream,
) -> Pin<Box<dyn Future<Output = Result<UploadPartResponse>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
'life3: 'async_trait,
Uploads a single part of the upload identified by
(id, upload_id).Source§fn list_parts<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
id: &'life1 ObjectId,
upload_id: &'life2 UploadId,
max_parts: Option<u32>,
part_number_marker: Option<PartNumber>,
) -> Pin<Box<dyn Future<Output = Result<ListPartsResponse>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
fn list_parts<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
id: &'life1 ObjectId,
upload_id: &'life2 UploadId,
max_parts: Option<u32>,
part_number_marker: Option<PartNumber>,
) -> Pin<Box<dyn Future<Output = Result<ListPartsResponse>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
Lists the parts uploaded so far for
(id, upload_id).Source§fn abort_multipart<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
id: &'life1 ObjectId,
upload_id: &'life2 UploadId,
) -> Pin<Box<dyn Future<Output = Result<AbortMultipartResponse>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
fn abort_multipart<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
id: &'life1 ObjectId,
upload_id: &'life2 UploadId,
) -> Pin<Box<dyn Future<Output = Result<AbortMultipartResponse>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
Aborts the upload identified by
(id, upload_id).Source§fn complete_multipart<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
id: &'life1 ObjectId,
upload_id: &'life2 UploadId,
parts: Vec<CompletedPart>,
) -> Pin<Box<dyn Future<Output = Result<CompleteMultipartResponse>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
fn complete_multipart<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
id: &'life1 ObjectId,
upload_id: &'life2 UploadId,
parts: Vec<CompletedPart>,
) -> Pin<Box<dyn Future<Output = Result<CompleteMultipartResponse>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
Finalizes the upload identified by
(id, upload_id) with the given
ordered list of parts.Auto Trait Implementations§
impl Freeze for LocalFsBackend
impl RefUnwindSafe for LocalFsBackend
impl Send for LocalFsBackend
impl Sync for LocalFsBackend
impl Unpin for LocalFsBackend
impl UnsafeUnpin for LocalFsBackend
impl UnwindSafe for LocalFsBackend
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
§impl<T> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
Wrap the input message
T in a tonic::Request§impl<L> LayerExt<L> for L
impl<L> LayerExt<L> for L
§fn named_layer<S>(&self, service: S) -> Layered<<L as Layer<S>>::Service, S>where
L: Layer<S>,
fn named_layer<S>(&self, service: S) -> Layered<<L as Layer<S>>::Service, S>where
L: Layer<S>,
Applies the layer to a service and wraps it in [
Layered].