pub struct NoCacheStrictLocalProvider {
pub root: PathBuf,
pub layer: usize,
}Expand description
NoCacheStrictLocalProvider defines a providers which serves local files without caching,
which is useful for development and testing.
The main purpose of using this provider is to support annil for anni workspace.
Fields§
§root: PathBufRoot directory of an strict annil
layer: usizeHash layers
Trait Implementations§
Source§impl AnniProvider for NoCacheStrictLocalProvider
impl AnniProvider for NoCacheStrictLocalProvider
Source§fn albums<'life0, 'async_trait>(
&'life0 self,
) -> Pin<Box<dyn Future<Output = Result<HashSet<Cow<'_, str>>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn albums<'life0, 'async_trait>(
&'life0 self,
) -> Pin<Box<dyn Future<Output = Result<HashSet<Cow<'_, str>>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
During the list operation, the provider will scan the whole library and return all available albums.
Here available means the album directory exists and is not empty. The non-empty assumption is made because a workspace may create an empty directory for further use.
Source§fn get_audio<'life0, 'life1, 'async_trait>(
&'life0 self,
album_id: &'life1 str,
disc_id: NonZeroU8,
track_id: NonZeroU8,
range: Range,
) -> Pin<Box<dyn Future<Output = Result<AudioResourceReader>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn get_audio<'life0, 'life1, 'async_trait>(
&'life0 self,
album_id: &'life1 str,
disc_id: NonZeroU8,
track_id: NonZeroU8,
range: Range,
) -> Pin<Box<dyn Future<Output = Result<AudioResourceReader>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Returns a reader implements AsyncRead for content reading
Source§fn get_cover<'life0, 'life1, 'async_trait>(
&'life0 self,
album_id: &'life1 str,
disc_id: Option<NonZeroU8>,
) -> Pin<Box<dyn Future<Output = Result<ResourceReader>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn get_cover<'life0, 'life1, 'async_trait>(
&'life0 self,
album_id: &'life1 str,
disc_id: Option<NonZeroU8>,
) -> Pin<Box<dyn Future<Output = Result<ResourceReader>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Returns a cover of corresponding album
Source§fn reload<'life0, 'async_trait>(
&'life0 mut self,
) -> Pin<Box<dyn Future<Output = Result<()>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn reload<'life0, 'async_trait>(
&'life0 mut self,
) -> Pin<Box<dyn Future<Output = Result<()>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Reloads the provider for new albums
Source§fn has_album<'life0, 'life1, 'async_trait>(
&'life0 self,
album_id: &'life1 str,
) -> Pin<Box<dyn Future<Output = bool> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn has_album<'life0, 'life1, 'async_trait>(
&'life0 self,
album_id: &'life1 str,
) -> Pin<Box<dyn Future<Output = bool> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Returns whether given album exists
Source§fn get_audio_info<'life0, 'life1, 'async_trait>(
&'life0 self,
album_id: &'life1 str,
disc_id: NonZeroU8,
track_id: NonZeroU8,
) -> Pin<Box<dyn Future<Output = Result<AudioInfo>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn get_audio_info<'life0, 'life1, 'async_trait>(
&'life0 self,
album_id: &'life1 str,
disc_id: NonZeroU8,
track_id: NonZeroU8,
) -> Pin<Box<dyn Future<Output = Result<AudioInfo>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Get audio info describing basic information of the audio file.
Auto Trait Implementations§
impl Freeze for NoCacheStrictLocalProvider
impl RefUnwindSafe for NoCacheStrictLocalProvider
impl Send for NoCacheStrictLocalProvider
impl Sync for NoCacheStrictLocalProvider
impl Unpin for NoCacheStrictLocalProvider
impl UnsafeUnpin for NoCacheStrictLocalProvider
impl UnwindSafe for NoCacheStrictLocalProvider
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<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
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