pub struct CountingObjectStore { /* private fields */ }Expand description
An object store wrapper that counts listing operations.
This increments the shared counter for both list and list_with_delimiter
so tests can observe all listing-based directory and version discovery calls.
Implementations§
Source§impl CountingObjectStore
impl CountingObjectStore
pub fn new( target: Arc<dyn ObjectStore>, listing_count: Arc<AtomicUsize>, ) -> Self
Trait Implementations§
Source§impl Debug for CountingObjectStore
impl Debug for CountingObjectStore
Source§impl Display for CountingObjectStore
impl Display for CountingObjectStore
Source§impl ObjectStore for CountingObjectStore
impl ObjectStore for CountingObjectStore
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 list_with_offset(
&self,
prefix: Option<&Path>,
offset: &Path,
) -> Pin<Box<dyn Stream<Item = Result<ObjectMeta, Error>> + Send>>
fn list_with_offset( &self, prefix: Option<&Path>, offset: &Path, ) -> Pin<Box<dyn Stream<Item = Result<ObjectMeta, Error>> + Send>>
List all the objects with the given prefix and a location greater than
offset Read moreSource§fn rename_opts<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
from: &'life1 Path,
to: &'life2 Path,
options: RenameOptions,
) -> Pin<Box<dyn Future<Output = Result<(), Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
Self: 'async_trait,
fn rename_opts<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
from: &'life1 Path,
to: &'life2 Path,
options: RenameOptions,
) -> Pin<Box<dyn Future<Output = Result<(), Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
Self: 'async_trait,
Move an object from one path to another in the same object store. Read more
Auto Trait Implementations§
impl Freeze for CountingObjectStore
impl !RefUnwindSafe for CountingObjectStore
impl Send for CountingObjectStore
impl Sync for CountingObjectStore
impl Unpin for CountingObjectStore
impl UnsafeUnpin for CountingObjectStore
impl !UnwindSafe for CountingObjectStore
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