pub enum PersistentFileBackend {
Redb(RedbFileCache),
}Expand description
Enum dispatch for persistent file backends.
Variants§
Redb(RedbFileCache)
Implementations§
Source§impl PersistentFileBackend
impl PersistentFileBackend
Sourcepub async fn new(config: &CacheConfig, ttl: Option<u64>) -> Result<Self>
pub async fn new(config: &CacheConfig, ttl: Option<u64>) -> Result<Self>
Creates the persistent file backend for the selected kind.
§Arguments
config- The cache configuration specifying directories, TTLs, and backend settings.ttl- Time-to-live in seconds
§Errors
Returns Error::AmbiguousCacheBackend if kind is None and multiple backends are compiled in.
Returns an error if the selected backend fails to initialize.
Trait Implementations§
Source§impl Debug for PersistentFileBackend
impl Debug for PersistentFileBackend
Source§impl FileBackend for PersistentFileBackend
Available on persistent_cache only.
impl FileBackend for PersistentFileBackend
Available on
persistent_cache only.Source§async fn get_by_hash(&self, hash: &str) -> Result<Option<(CachedFile, PathBuf)>>
async fn get_by_hash(&self, hash: &str) -> Result<Option<(CachedFile, PathBuf)>>
Retrieves a file from the cache by its hash. Read more
Source§async fn get_by_video_and_format(
&self,
video_id: &str,
format_id: &str,
) -> Result<Option<(CachedFile, PathBuf)>>
async fn get_by_video_and_format( &self, video_id: &str, format_id: &str, ) -> Result<Option<(CachedFile, PathBuf)>>
Retrieves a file from the cache by video ID and format ID. Read more
Source§async fn get_by_video_and_preferences(
&self,
video_id: &str,
preferences: &FormatPreferences,
) -> Result<Option<(CachedFile, PathBuf)>>
async fn get_by_video_and_preferences( &self, video_id: &str, preferences: &FormatPreferences, ) -> Result<Option<(CachedFile, PathBuf)>>
Retrieves a file from the cache based on video ID and quality preferences. Read more
Source§async fn put(&self, file: CachedFile, source_path: &Path) -> Result<PathBuf>
async fn put(&self, file: CachedFile, source_path: &Path) -> Result<PathBuf>
Store a file in the cache. Read more
Source§async fn remove(&self, id: &str) -> Result<()>
async fn remove(&self, id: &str) -> Result<()>
Removes a file from the cache by its ID. Read more
Source§async fn get_thumbnail_by_video_id(
&self,
video_id: &str,
) -> Result<Option<(CachedThumbnail, PathBuf)>>
async fn get_thumbnail_by_video_id( &self, video_id: &str, ) -> Result<Option<(CachedThumbnail, PathBuf)>>
Retrieve a thumbnail from the cache by video ID. Read more
Source§async fn put_thumbnail(
&self,
thumbnail: CachedThumbnail,
source_path: &Path,
) -> Result<PathBuf>
async fn put_thumbnail( &self, thumbnail: CachedThumbnail, source_path: &Path, ) -> Result<PathBuf>
Store a thumbnail in the cache. Read more
Source§async fn get_subtitle_by_language(
&self,
video_id: &str,
language: &str,
) -> Result<Option<(CachedFile, PathBuf)>>
async fn get_subtitle_by_language( &self, video_id: &str, language: &str, ) -> Result<Option<(CachedFile, PathBuf)>>
Retrieve a subtitle from the cache by video ID and language. Read more
Auto Trait Implementations§
impl !RefUnwindSafe for PersistentFileBackend
impl !UnwindSafe for PersistentFileBackend
impl Freeze for PersistentFileBackend
impl Send for PersistentFileBackend
impl Sync for PersistentFileBackend
impl Unpin for PersistentFileBackend
impl UnsafeUnpin for PersistentFileBackend
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> 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>
Converts
Box<dyn Trait> (where Trait: Downcast) to Box<dyn Any>, which can then be
downcast into Box<dyn 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>
Converts
Rc<Trait> (where Trait: Downcast) to Rc<Any>, which 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)
Converts
&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)
Converts
&mut Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &mut Any’s vtable from &mut Trait’s.