pub struct GatedReader<R: AssetReader> { /* private fields */ }
Expand description
A “gated” reader that will prevent asset reads from returning until
a given path has been “opened” using GateOpener
.
This is built primarily for unit tests.
Implementations§
Source§impl<R: AssetReader> GatedReader<R>
impl<R: AssetReader> GatedReader<R>
Sourcepub fn new(reader: R) -> (Self, GateOpener)
pub fn new(reader: R) -> (Self, GateOpener)
Creates a new GatedReader
, which wraps the given reader
. Also returns a GateOpener
which
can be used to open “path gates” for this GatedReader
.
Trait Implementations§
Source§impl<R: AssetReader> AssetReader for GatedReader<R>
impl<R: AssetReader> AssetReader for GatedReader<R>
Source§async fn read<'a>(
&'a self,
path: &'a Path,
) -> Result<impl Reader + 'a, AssetReaderError>
async fn read<'a>( &'a self, path: &'a Path, ) -> Result<impl Reader + 'a, AssetReaderError>
Returns a future to load the full file data at the provided path. Read more
Source§async fn read_meta<'a>(
&'a self,
path: &'a Path,
) -> Result<impl Reader + 'a, AssetReaderError>
async fn read_meta<'a>( &'a self, path: &'a Path, ) -> Result<impl Reader + 'a, AssetReaderError>
Returns a future to load the full file data at the provided path.
Source§async fn read_directory<'a>(
&'a self,
path: &'a Path,
) -> Result<Box<PathStream>, AssetReaderError>
async fn read_directory<'a>( &'a self, path: &'a Path, ) -> Result<Box<PathStream>, AssetReaderError>
Returns an iterator of directory entry names at the provided path.
Source§async fn is_directory<'a>(
&'a self,
path: &'a Path,
) -> Result<bool, AssetReaderError>
async fn is_directory<'a>( &'a self, path: &'a Path, ) -> Result<bool, AssetReaderError>
Returns true if the provided path points to a directory.
Source§fn read_meta_bytes<'a>(
&'a self,
path: &'a Path,
) -> impl ConditionalSendFuture<Output = Result<Vec<u8>, AssetReaderError>>
fn read_meta_bytes<'a>( &'a self, path: &'a Path, ) -> impl ConditionalSendFuture<Output = Result<Vec<u8>, AssetReaderError>>
Reads asset metadata bytes at the given
path
into a Vec<u8>
. This is a convenience
function that wraps AssetReader::read_meta
by default.Source§impl<R: AssetReader + Clone> Clone for GatedReader<R>
impl<R: AssetReader + Clone> Clone for GatedReader<R>
Auto Trait Implementations§
impl<R> Freeze for GatedReader<R>where
R: Freeze,
impl<R> !RefUnwindSafe for GatedReader<R>
impl<R> Send for GatedReader<R>
impl<R> Sync for GatedReader<R>
impl<R> Unpin for GatedReader<R>where
R: Unpin,
impl<R> !UnwindSafe for GatedReader<R>
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> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere
T: Any,
Source§fn into_any(self: Box<T>) -> Box<dyn Any>
fn into_any(self: Box<T>) -> Box<dyn Any>
Convert
Box<dyn Trait>
(where Trait: Downcast
) to Box<dyn Any>
. Box<dyn Any>
can
then be further downcast
into Box<ConcreteType>
where ConcreteType
implements Trait
.Source§fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
Convert
Rc<Trait>
(where Trait: Downcast
) to Rc<Any>
. Rc<Any>
can then be
further downcast
into Rc<ConcreteType>
where ConcreteType
implements Trait
.Source§fn as_any(&self) -> &(dyn Any + 'static)
fn as_any(&self) -> &(dyn Any + 'static)
Convert
&Trait
(where Trait: Downcast
) to &Any
. This is needed since Rust cannot
generate &Any
’s vtable from &Trait
’s.Source§fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
Convert
&mut Trait
(where Trait: Downcast
) to &Any
. This is needed since Rust cannot
generate &mut Any
’s vtable from &mut Trait
’s.Source§impl<T> DowncastSync for T
impl<T> DowncastSync for T
Source§impl<T> ErasedAssetReader for Twhere
T: AssetReader,
impl<T> ErasedAssetReader for Twhere
T: AssetReader,
Source§fn read<'a>(
&'a self,
path: &'a Path,
) -> Pin<Box<dyn ConditionalSendFuture<Output = Result<Box<dyn Reader + 'a>, AssetReaderError>> + 'a>>
fn read<'a>( &'a self, path: &'a Path, ) -> Pin<Box<dyn ConditionalSendFuture<Output = Result<Box<dyn Reader + 'a>, AssetReaderError>> + 'a>>
Returns a future to load the full file data at the provided path.
Source§fn read_meta<'a>(
&'a self,
path: &'a Path,
) -> Pin<Box<dyn ConditionalSendFuture<Output = Result<Box<dyn Reader + 'a>, AssetReaderError>> + 'a>>
fn read_meta<'a>( &'a self, path: &'a Path, ) -> Pin<Box<dyn ConditionalSendFuture<Output = Result<Box<dyn Reader + 'a>, AssetReaderError>> + 'a>>
Returns a future to load the full file data at the provided path.
Source§fn read_directory<'a>(
&'a self,
path: &'a Path,
) -> Pin<Box<dyn ConditionalSendFuture<Output = Result<Box<dyn Stream<Item = PathBuf> + Unpin + Send>, AssetReaderError>> + 'a>>
fn read_directory<'a>( &'a self, path: &'a Path, ) -> Pin<Box<dyn ConditionalSendFuture<Output = Result<Box<dyn Stream<Item = PathBuf> + Unpin + Send>, AssetReaderError>> + 'a>>
Returns an iterator of directory entry names at the provided path.
Source§fn is_directory<'a>(
&'a self,
path: &'a Path,
) -> Pin<Box<dyn ConditionalSendFuture<Output = Result<bool, AssetReaderError>> + 'a>>
fn is_directory<'a>( &'a self, path: &'a Path, ) -> Pin<Box<dyn ConditionalSendFuture<Output = Result<bool, AssetReaderError>> + 'a>>
Returns true if the provided path points to a directory.
Source§fn read_meta_bytes<'a>(
&'a self,
path: &'a Path,
) -> Pin<Box<dyn ConditionalSendFuture<Output = Result<Vec<u8>, AssetReaderError>> + 'a>>
fn read_meta_bytes<'a>( &'a self, path: &'a Path, ) -> Pin<Box<dyn ConditionalSendFuture<Output = Result<Vec<u8>, AssetReaderError>> + 'a>>
Reads asset metadata bytes at the given
path
into a Vec<u8>
. This is a convenience
function that wraps ErasedAssetReader::read_meta
by default.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 more