pub struct SharedFrecency { /* private fields */ }Expand description
Thread-safe shared handle to the FrecencyTracker instance.
Implementations§
pub fn read( &self, ) -> Result<RwLockReadGuard<'_, Option<FrecencyTracker>>, Error>
pub fn write( &self, ) -> Result<RwLockWriteGuard<'_, Option<FrecencyTracker>>, Error>
Sourcepub fn init(&self, tracker: FrecencyTracker) -> Result<(), Error>
pub fn init(&self, tracker: FrecencyTracker) -> Result<(), Error>
Initialize the frecency tracker. No-op if this is a disabled instance.
Sourcepub fn spawn_gc(
&self,
db_path: String,
use_unsafe_no_lock: bool,
) -> Result<JoinHandle<()>>
pub fn spawn_gc( &self, db_path: String, use_unsafe_no_lock: bool, ) -> Result<JoinHandle<()>>
Spawn a background GC thread for this frecency tracker.
Sourcepub fn destroy(&self) -> Result<Option<PathBuf>, Error>
pub fn destroy(&self) -> Result<Option<PathBuf>, Error>
Drop the in-memory tracker and delete the on-disk database directory.
Acquires the write lock, ensuring all readers (including any active mmap access) are finished before the LMDB environment is closed and the files are removed.
Returns Ok(Some(path)) with the deleted path, or Ok(None) if no
tracker was initialized.
Trait Implementations§
Source§fn clone(&self) -> SharedFrecency
fn clone(&self) -> SharedFrecency
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreAuto Trait Implementations§
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> 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