pub struct S3SlideSource { /* private fields */ }Expand description
S3-backed implementation of SlideSource.
Creates S3RangeReader instances for slides stored in an S3 bucket.
The slide ID is used as the object key within the bucket.
§Example
ⓘ
use wsi_streamer::slide::S3SlideSource;
use wsi_streamer::io::create_s3_client;
let client = create_s3_client(None).await;
let source = S3SlideSource::new(client, "my-bucket".to_string());
// The slide ID "slides/example.svs" becomes the S3 key
let reader = source.create_reader("slides/example.svs").await?;Implementations§
Trait Implementations§
Source§impl Clone for S3SlideSource
impl Clone for S3SlideSource
Source§fn clone(&self) -> S3SlideSource
fn clone(&self) -> S3SlideSource
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl SlideSource for S3SlideSource
impl SlideSource for S3SlideSource
Source§type Reader = S3RangeReader
type Reader = S3RangeReader
The type of range reader this source creates.
Source§fn create_reader<'life0, 'life1, 'async_trait>(
&'life0 self,
slide_id: &'life1 str,
) -> Pin<Box<dyn Future<Output = Result<Self::Reader, IoError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn create_reader<'life0, 'life1, 'async_trait>(
&'life0 self,
slide_id: &'life1 str,
) -> Pin<Box<dyn Future<Output = Result<Self::Reader, IoError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Create a range reader for the given slide identifier. Read more
Source§fn list_slides<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
limit: u32,
cursor: Option<&'life1 str>,
prefix: Option<&'life2 str>,
) -> Pin<Box<dyn Future<Output = Result<SlideListResult, IoError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
fn list_slides<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
limit: u32,
cursor: Option<&'life1 str>,
prefix: Option<&'life2 str>,
) -> Pin<Box<dyn Future<Output = Result<SlideListResult, IoError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
List available slides from the storage backend. Read more
Auto Trait Implementations§
impl Freeze for S3SlideSource
impl !RefUnwindSafe for S3SlideSource
impl Send for S3SlideSource
impl Sync for S3SlideSource
impl Unpin for S3SlideSource
impl !UnwindSafe for S3SlideSource
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> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
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 moreCreates a shared type from an unshared type.