pub struct FallbackPieceGetter<T, U>{ /* private fields */ }
Expand description
A piece getter that falls back to another piece getter if the first one does not return the piece. If both piece getters don’t return the piece, returns the result of the second piece getter.
Trait Implementations§
Source§impl<T, U> Debug for FallbackPieceGetter<T, U>
impl<T, U> Debug for FallbackPieceGetter<T, U>
Source§impl<T, U> PieceGetter for FallbackPieceGetter<T, U>
impl<T, U> PieceGetter for FallbackPieceGetter<T, U>
Source§fn get_piece<'life0, 'async_trait>(
&'life0 self,
piece_index: PieceIndex,
) -> Pin<Box<dyn Future<Output = Result<Option<Piece>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn get_piece<'life0, 'async_trait>(
&'life0 self,
piece_index: PieceIndex,
) -> Pin<Box<dyn Future<Output = Result<Option<Piece>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Get piece by index. Read more
Source§fn get_pieces<'a, 'async_trait>(
&'a self,
piece_indices: Vec<PieceIndex>,
) -> Pin<Box<dyn Future<Output = Result<Box<dyn Stream<Item = (PieceIndex, Result<Option<Piece>>)> + Send + Unpin + 'a>>> + Send + 'async_trait>>where
Self: 'async_trait,
'a: 'async_trait,
fn get_pieces<'a, 'async_trait>(
&'a self,
piece_indices: Vec<PieceIndex>,
) -> Pin<Box<dyn Future<Output = Result<Box<dyn Stream<Item = (PieceIndex, Result<Option<Piece>>)> + Send + Unpin + 'a>>> + Send + 'async_trait>>where
Self: 'async_trait,
'a: 'async_trait,
Get pieces with provided indices. Read more
Source§fn with_fallback<U>(self, other: U) -> FallbackPieceGetter<Self, U>
fn with_fallback<U>(self, other: U) -> FallbackPieceGetter<Self, U>
Returns a piece getter that falls back to
other
if self
does not return the piece.
Piece getters may need to be wrapped in Arc
to be used with this method.Auto Trait Implementations§
impl<T, U> Freeze for FallbackPieceGetter<T, U>
impl<T, U> RefUnwindSafe for FallbackPieceGetter<T, U>where
T: RefUnwindSafe,
U: RefUnwindSafe,
impl<T, U> Send for FallbackPieceGetter<T, U>
impl<T, U> Sync for FallbackPieceGetter<T, U>
impl<T, U> Unpin for FallbackPieceGetter<T, U>
impl<T, U> UnwindSafe for FallbackPieceGetter<T, U>where
T: UnwindSafe,
U: UnwindSafe,
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
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
§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