Skip to main content

PersistentFileBackend

Enum PersistentFileBackend 

Source
pub enum PersistentFileBackend {
    Redb(RedbFileCache),
}
Expand description

Enum dispatch for persistent file backends.

Variants§

Implementations§

Source§

impl PersistentFileBackend

Source

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

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl FileBackend for PersistentFileBackend

Available on persistent_cache only.
Source§

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)>>

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)>>

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>

Store a file in the cache. Read more
Source§

async fn remove(&self, id: &str) -> Result<()>

Removes a file from the cache by its ID. Read more
Source§

async fn clean(&self) -> Result<()>

Cleans expired entries from the cache. Read more
Source§

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>

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)>>

Retrieve a subtitle from the cache by video ID and language. Read more

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> Downcast for T
where T: Any,

Source§

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>

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)

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)

Converts &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> DowncastSend for T
where T: Any + Send,

Source§

fn into_any_send(self: Box<T>) -> Box<dyn Any + Send>

Converts Box<Trait> (where Trait: DowncastSend) to Box<dyn Any + Send>, which can then be downcast into Box<ConcreteType> where ConcreteType implements Trait.
Source§

impl<T> DowncastSync for T
where T: Any + Send + Sync,

Source§

fn into_any_sync(self: Box<T>) -> Box<dyn Any + Send + Sync>

Converts Box<Trait> (where Trait: DowncastSync) to Box<dyn Any + Send + Sync>, which can then be downcast into Box<ConcreteType> where ConcreteType implements Trait.
Source§

fn into_any_arc(self: Arc<T>) -> Arc<dyn Any + Send + Sync>

Converts Arc<Trait> (where Trait: DowncastSync) to Arc<Any>, which can then be downcast into Arc<ConcreteType> where ConcreteType implements Trait.
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T> Instrument for T

Source§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
Source§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> Pointable for T

Source§

const ALIGN: usize

The alignment of pointer.
Source§

type Init = T

The type for initializers.
Source§

unsafe fn init(init: <T as Pointable>::Init) -> usize

Initializes a with the given initializer. Read more
Source§

unsafe fn deref<'a>(ptr: usize) -> &'a T

Dereferences the given pointer. Read more
Source§

unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T

Mutably dereferences the given pointer. Read more
Source§

unsafe fn drop(ptr: usize)

Drops the object pointed to by the given pointer. Read more
Source§

impl<T> PolicyExt for T
where T: ?Sized,

Source§

fn and<P, B, E>(self, other: P) -> And<T, P>
where T: Sized + Policy<B, E>, P: Policy<B, E>,

Create a new Policy that returns Action::Follow only if self and other return Action::Follow. Read more
Source§

fn or<P, B, E>(self, other: P) -> Or<T, P>
where T: Sized + Policy<B, E>, P: Policy<B, E>,

Create a new Policy that returns Action::Follow if either self or other returns Action::Follow. Read more
Source§

impl<T> Same for T

Source§

type Output = T

Should always be Self
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
Source§

impl<T> WithSubscriber for T

Source§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more