pub struct ProxyObjectStore { /* private fields */ }Expand description
A proxy object store
This store wraps another object store and applies the given policy to all calls made to the underlying store. This can be used to simulate failures or, perhaps in the future, to mock out results or provide other fine-grained control.
Implementations§
Source§impl ProxyObjectStore
impl ProxyObjectStore
pub fn new( target: Arc<dyn ObjectStore>, policy: Arc<Mutex<ProxyObjectStorePolicy>>, ) -> Self
Trait Implementations§
Source§impl Debug for ProxyObjectStore
impl Debug for ProxyObjectStore
Source§impl Display for ProxyObjectStore
impl Display for ProxyObjectStore
Source§impl ObjectStore for ProxyObjectStore
impl ObjectStore for ProxyObjectStore
Source§fn put_opts<'life0, 'life1, 'async_trait>(
&'life0 self,
location: &'life1 Path,
bytes: PutPayload,
opts: PutOptions,
) -> Pin<Box<dyn Future<Output = OSResult<PutResult>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn put_opts<'life0, 'life1, 'async_trait>(
&'life0 self,
location: &'life1 Path,
bytes: PutPayload,
opts: PutOptions,
) -> Pin<Box<dyn Future<Output = OSResult<PutResult>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Source§fn put_multipart_opts<'life0, 'life1, 'async_trait>(
&'life0 self,
location: &'life1 Path,
opts: PutMultipartOptions,
) -> Pin<Box<dyn Future<Output = OSResult<Box<dyn MultipartUpload>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn put_multipart_opts<'life0, 'life1, 'async_trait>(
&'life0 self,
location: &'life1 Path,
opts: PutMultipartOptions,
) -> Pin<Box<dyn Future<Output = OSResult<Box<dyn MultipartUpload>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Perform a multipart upload with options Read more
Source§fn get_opts<'life0, 'life1, 'async_trait>(
&'life0 self,
location: &'life1 Path,
options: GetOptions,
) -> Pin<Box<dyn Future<Output = OSResult<GetResult>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn get_opts<'life0, 'life1, 'async_trait>(
&'life0 self,
location: &'life1 Path,
options: GetOptions,
) -> Pin<Box<dyn Future<Output = OSResult<GetResult>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Perform a get request with options Read more
Source§fn get_ranges<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
location: &'life1 Path,
ranges: &'life2 [Range<u64>],
) -> Pin<Box<dyn Future<Output = OSResult<Vec<Bytes>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
fn get_ranges<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
location: &'life1 Path,
ranges: &'life2 [Range<u64>],
) -> Pin<Box<dyn Future<Output = OSResult<Vec<Bytes>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
Return the bytes that are stored at the specified location
in the given byte ranges
Source§fn delete_stream(
&self,
locations: BoxStream<'static, OSResult<Path>>,
) -> BoxStream<'static, OSResult<Path>>
fn delete_stream( &self, locations: BoxStream<'static, OSResult<Path>>, ) -> BoxStream<'static, OSResult<Path>>
Delete all the objects at the specified locations Read more
Source§fn list(
&self,
prefix: Option<&Path>,
) -> BoxStream<'static, OSResult<ObjectMeta>>
fn list( &self, prefix: Option<&Path>, ) -> BoxStream<'static, OSResult<ObjectMeta>>
List all the objects with the given prefix. Read more
Source§fn list_with_delimiter<'life0, 'life1, 'async_trait>(
&'life0 self,
prefix: Option<&'life1 Path>,
) -> Pin<Box<dyn Future<Output = OSResult<ListResult>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn list_with_delimiter<'life0, 'life1, 'async_trait>(
&'life0 self,
prefix: Option<&'life1 Path>,
) -> Pin<Box<dyn Future<Output = OSResult<ListResult>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
List objects with the given prefix and an implementation specific
delimiter. Returns common prefixes (directories) in addition to object
metadata. Read more
Source§fn copy_opts<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
from: &'life1 Path,
to: &'life2 Path,
opts: CopyOptions,
) -> Pin<Box<dyn Future<Output = OSResult<()>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
fn copy_opts<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
from: &'life1 Path,
to: &'life2 Path,
opts: CopyOptions,
) -> Pin<Box<dyn Future<Output = OSResult<()>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
Copy an object from one path to another in the same object store.
Source§fn rename_opts<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
from: &'life1 Path,
to: &'life2 Path,
opts: RenameOptions,
) -> Pin<Box<dyn Future<Output = OSResult<()>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
fn rename_opts<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
from: &'life1 Path,
to: &'life2 Path,
opts: RenameOptions,
) -> Pin<Box<dyn Future<Output = OSResult<()>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
Move an object from one path to another in the same object store. Read more
Auto Trait Implementations§
impl Freeze for ProxyObjectStore
impl !RefUnwindSafe for ProxyObjectStore
impl Send for ProxyObjectStore
impl Sync for ProxyObjectStore
impl Unpin for ProxyObjectStore
impl UnsafeUnpin for ProxyObjectStore
impl !UnwindSafe for ProxyObjectStore
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
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§impl<T> ObjectStoreExt for Twhere
T: ObjectStore + ?Sized,
impl<T> ObjectStoreExt for Twhere
T: ObjectStore + ?Sized,
Source§async fn put(
&self,
location: &Path,
payload: PutPayload,
) -> Result<PutResult, Error>
async fn put( &self, location: &Path, payload: PutPayload, ) -> Result<PutResult, Error>
Save the provided bytes to the specified location Read more
Source§async fn put_multipart(
&self,
location: &Path,
) -> Result<Box<dyn MultipartUpload>, Error>
async fn put_multipart( &self, location: &Path, ) -> Result<Box<dyn MultipartUpload>, Error>
Perform a multipart upload Read more
Source§async fn get(&self, location: &Path) -> Result<GetResult, Error>
async fn get(&self, location: &Path) -> Result<GetResult, Error>
Return the bytes that are stored at the specified location. Read more
Source§async fn get_range(
&self,
location: &Path,
range: Range<u64>,
) -> Result<Bytes, Error>
async fn get_range( &self, location: &Path, range: Range<u64>, ) -> Result<Bytes, Error>
Return the bytes that are stored at the specified location
in the given byte range. Read more
Source§async fn head(&self, location: &Path) -> Result<ObjectMeta, Error>
async fn head(&self, location: &Path) -> Result<ObjectMeta, Error>
Return the metadata for the specified location
Source§async fn delete(&self, location: &Path) -> Result<(), Error>
async fn delete(&self, location: &Path) -> Result<(), Error>
Delete the object at the specified location.
Source§async fn copy(&self, from: &Path, to: &Path) -> Result<(), Error>
async fn copy(&self, from: &Path, to: &Path) -> Result<(), Error>
Copy an object from one path to another in the same object store. Read more
Source§async fn copy_if_not_exists(&self, from: &Path, to: &Path) -> Result<(), Error>
async fn copy_if_not_exists(&self, from: &Path, to: &Path) -> Result<(), Error>
Copy an object from one path to another, only if destination is empty. Read more