Struct object_store::limit::LimitStore
source · [−]pub struct LimitStore<T: ObjectStore> { /* private fields */ }
Expand description
Store wrapper that wraps an inner store and limits the maximum number of concurrent
object store operations. Where each call to an ObjectStore
member function is
considered a single operation, even if it may result in more than one network call
// Create an in-memory `ObjectStore` limited to 20 concurrent requests
let store = LimitStore::new(InMemory::new(), 20);
Implementations
sourceimpl<T: ObjectStore> LimitStore<T>
impl<T: ObjectStore> LimitStore<T>
Trait Implementations
sourceimpl<T: Debug + ObjectStore> Debug for LimitStore<T>
impl<T: Debug + ObjectStore> Debug for LimitStore<T>
sourceimpl<T: ObjectStore> Display for LimitStore<T>
impl<T: ObjectStore> Display for LimitStore<T>
sourceimpl<T: ObjectStore> ObjectStore for LimitStore<T>
impl<T: ObjectStore> ObjectStore for LimitStore<T>
sourcefn put<'life0, 'life1, 'async_trait>(
&'life0 self,
location: &'life1 Path,
bytes: Bytes
) -> Pin<Box<dyn Future<Output = Result<()>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
Self: 'async_trait,
fn put<'life0, 'life1, 'async_trait>(
&'life0 self,
location: &'life1 Path,
bytes: Bytes
) -> Pin<Box<dyn Future<Output = Result<()>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
Self: 'async_trait,
Save the provided bytes to the specified location.
sourcefn put_multipart<'life0, 'life1, 'async_trait>(
&'life0 self,
location: &'life1 Path
) -> Pin<Box<dyn Future<Output = Result<(MultipartId, Box<dyn AsyncWrite + Unpin + Send>)>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
Self: 'async_trait,
fn put_multipart<'life0, 'life1, 'async_trait>(
&'life0 self,
location: &'life1 Path
) -> Pin<Box<dyn Future<Output = Result<(MultipartId, Box<dyn AsyncWrite + Unpin + Send>)>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
Self: 'async_trait,
Get a multi-part upload that allows writing data in chunks Read more
sourcefn abort_multipart<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
location: &'life1 Path,
multipart_id: &'life2 MultipartId
) -> Pin<Box<dyn Future<Output = Result<()>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
Self: 'async_trait,
fn abort_multipart<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
location: &'life1 Path,
multipart_id: &'life2 MultipartId
) -> Pin<Box<dyn Future<Output = Result<()>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
Self: 'async_trait,
Cleanup an aborted upload. Read more
sourcefn get<'life0, 'life1, 'async_trait>(
&'life0 self,
location: &'life1 Path
) -> Pin<Box<dyn Future<Output = Result<GetResult>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
Self: 'async_trait,
fn get<'life0, 'life1, 'async_trait>(
&'life0 self,
location: &'life1 Path
) -> Pin<Box<dyn Future<Output = Result<GetResult>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
Self: 'async_trait,
Return the bytes that are stored at the specified location.
sourcefn get_range<'life0, 'life1, 'async_trait>(
&'life0 self,
location: &'life1 Path,
range: Range<usize>
) -> Pin<Box<dyn Future<Output = Result<Bytes>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
Self: 'async_trait,
fn get_range<'life0, 'life1, 'async_trait>(
&'life0 self,
location: &'life1 Path,
range: Range<usize>
) -> Pin<Box<dyn Future<Output = Result<Bytes>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
Self: 'async_trait,
Return the bytes that are stored at the specified location in the given byte range Read more
sourcefn get_ranges<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
location: &'life1 Path,
ranges: &'life2 [Range<usize>]
) -> Pin<Box<dyn Future<Output = Result<Vec<Bytes>>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
Self: 'async_trait,
fn get_ranges<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
location: &'life1 Path,
ranges: &'life2 [Range<usize>]
) -> Pin<Box<dyn Future<Output = Result<Vec<Bytes>>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
Self: 'async_trait,
Return the bytes that are stored at the specified location in the given byte ranges Read more
sourcefn head<'life0, 'life1, 'async_trait>(
&'life0 self,
location: &'life1 Path
) -> Pin<Box<dyn Future<Output = Result<ObjectMeta>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
Self: 'async_trait,
fn head<'life0, 'life1, 'async_trait>(
&'life0 self,
location: &'life1 Path
) -> Pin<Box<dyn Future<Output = Result<ObjectMeta>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
Self: 'async_trait,
Return the metadata for the specified location
sourcefn delete<'life0, 'life1, 'async_trait>(
&'life0 self,
location: &'life1 Path
) -> Pin<Box<dyn Future<Output = Result<()>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
Self: 'async_trait,
fn delete<'life0, 'life1, 'async_trait>(
&'life0 self,
location: &'life1 Path
) -> Pin<Box<dyn Future<Output = Result<()>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
Self: 'async_trait,
Delete the object at the specified location.
sourcefn list<'life0, 'life1, 'async_trait>(
&'life0 self,
prefix: Option<&'life1 Path>
) -> Pin<Box<dyn Future<Output = Result<BoxStream<'_, Result<ObjectMeta>>>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
Self: 'async_trait,
fn list<'life0, 'life1, 'async_trait>(
&'life0 self,
prefix: Option<&'life1 Path>
) -> Pin<Box<dyn Future<Output = Result<BoxStream<'_, Result<ObjectMeta>>>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
Self: 'async_trait,
List all the objects with the given prefix. Read more
sourcefn list_with_delimiter<'life0, 'life1, 'async_trait>(
&'life0 self,
prefix: Option<&'life1 Path>
) -> Pin<Box<dyn Future<Output = Result<ListResult>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
Self: 'async_trait,
fn list_with_delimiter<'life0, 'life1, 'async_trait>(
&'life0 self,
prefix: Option<&'life1 Path>
) -> Pin<Box<dyn Future<Output = Result<ListResult>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
Self: 'async_trait,
List objects with the given prefix and an implementation specific delimiter. Returns common prefixes (directories) in addition to object metadata. Read more
sourcefn copy<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
from: &'life1 Path,
to: &'life2 Path
) -> Pin<Box<dyn Future<Output = Result<()>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
Self: 'async_trait,
fn copy<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
from: &'life1 Path,
to: &'life2 Path
) -> Pin<Box<dyn Future<Output = Result<()>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
Self: 'async_trait,
Copy an object from one path to another in the same object store. Read more
sourcefn rename<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
from: &'life1 Path,
to: &'life2 Path
) -> Pin<Box<dyn Future<Output = Result<()>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
Self: 'async_trait,
fn rename<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
from: &'life1 Path,
to: &'life2 Path
) -> Pin<Box<dyn Future<Output = Result<()>> + 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
sourcefn copy_if_not_exists<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
from: &'life1 Path,
to: &'life2 Path
) -> Pin<Box<dyn Future<Output = Result<()>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
Self: 'async_trait,
fn copy_if_not_exists<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
from: &'life1 Path,
to: &'life2 Path
) -> Pin<Box<dyn Future<Output = Result<()>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
Self: 'async_trait,
Copy an object from one path to another, only if destination is empty. Read more
sourcefn rename_if_not_exists<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
from: &'life1 Path,
to: &'life2 Path
) -> Pin<Box<dyn Future<Output = Result<()>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
Self: 'async_trait,
fn rename_if_not_exists<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
from: &'life1 Path,
to: &'life2 Path
) -> Pin<Box<dyn Future<Output = Result<()>> + 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<T> !RefUnwindSafe for LimitStore<T>
impl<T> Send for LimitStore<T>
impl<T> Sync for LimitStore<T>
impl<T> Unpin for LimitStore<T>where
T: Unpin,
impl<T> !UnwindSafe for LimitStore<T>
Blanket Implementations
sourceimpl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
const: unstable · sourcefn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
sourceimpl<T> Instrument for T
impl<T> Instrument for T
sourcefn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
sourcefn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
impl<V, T> VZip<V> for Twhere
V: MultiLane<T>,
impl<V, T> VZip<V> for Twhere
V: MultiLane<T>,
fn vzip(self) -> V
sourceimpl<T> WithSubscriber for T
impl<T> WithSubscriber for T
sourcefn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>where
S: Into<Dispatch>,
fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>where
S: Into<Dispatch>,
Attaches the provided Subscriber
to this type, returning a
WithDispatch
wrapper. Read more
sourcefn with_current_subscriber(self) -> WithDispatch<Self>
fn with_current_subscriber(self) -> WithDispatch<Self>
Attaches the current default Subscriber
to this type, returning a
WithDispatch
wrapper. Read more