pub struct ReaderPool { /* private fields */ }Expand description
Shared read pool. Cheap to clone (the inner Pool is Arc-based and
the HNSW handle is Arc<dyn VectorIndex>). Cloning gives multiple
owners — useful when the daemon hands one to the MCP server and keeps
one for shutdown.
Implementations§
Source§impl ReaderPool
impl ReaderPool
pub fn new( db_path: &Path, key: Option<KeyMaterial>, hnsw: Arc<dyn VectorIndex + Send + Sync>, ) -> Result<Self>
pub fn with_size( db_path: &Path, key: Option<KeyMaterial>, size: usize, hnsw: Arc<dyn VectorIndex + Send + Sync>, ) -> Result<Self>
pub async fn interact<F, R>(&self, f: F) -> Result<R>
pub fn hnsw(&self) -> &Arc<dyn VectorIndex + Send + Sync> ⓘ
Trait Implementations§
Source§impl Clone for ReaderPool
impl Clone for ReaderPool
Source§fn clone(&self) -> ReaderPool
fn clone(&self) -> ReaderPool
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreAuto Trait Implementations§
impl Freeze for ReaderPool
impl !RefUnwindSafe for ReaderPool
impl Send for ReaderPool
impl Sync for ReaderPool
impl Unpin for ReaderPool
impl UnsafeUnpin for ReaderPool
impl !UnwindSafe for ReaderPool
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