pub struct StoreMemorySource<'a> { /* private fields */ }Expand description
The canonical MemorySource: a crate::notes::NoteStore for note:
bodies and a crate::store::ConversationStore for turn: bodies (already
fenced to its workspace key). The TUI constructs one per turn next to its
NoteSink / StoreRecallSource.
Both surfaces already exist (the MVP adds no persistence): note: reads the
live NoteStore entries, turn: reads a single past turn by (conv, seq).
Implementations§
Source§impl<'a> StoreMemorySource<'a>
impl<'a> StoreMemorySource<'a>
pub fn new(notes: &'a NoteStore, store: &'a ConversationStore) -> Self
Sourcepub fn with_spill_store(self, spill: &'a dyn SpillStore) -> Self
pub fn with_spill_store(self, spill: &'a dyn SpillStore) -> Self
Attach a session spill store so spill:<id> re-reads resolve (Step 26.3).
Sourcepub fn with_compaction_store(self, compaction: &'a dyn SpillStore) -> Self
pub fn with_compaction_store(self, compaction: &'a dyn SpillStore) -> Self
Attach the session compaction store so compaction:<id> re-reads resolve
(#661 group B — lossless progressive disclosure of evicted spans).
Trait Implementations§
Source§impl MemorySource for StoreMemorySource<'_>
impl MemorySource for StoreMemorySource<'_>
Source§fn fetch(&self, addr: &MemAddr) -> Result<MemPayload>
fn fetch(&self, addr: &MemAddr) -> Result<MemPayload>
Resolve
addr to its verbatim body or labelled absence. A genuine
backend failure (e.g. a corrupt store row) is an Err; an unknown but
well-formed address is Ok(MemPayload::NotFound) — the executor
distinguishes the two (a backend error surfaces as error: verbatim;
absence surfaces as coaching).Auto Trait Implementations§
impl<'a> !RefUnwindSafe for StoreMemorySource<'a>
impl<'a> !UnwindSafe for StoreMemorySource<'a>
impl<'a> Freeze for StoreMemorySource<'a>
impl<'a> Send for StoreMemorySource<'a>
impl<'a> Sync for StoreMemorySource<'a>
impl<'a> Unpin for StoreMemorySource<'a>
impl<'a> UnsafeUnpin for StoreMemorySource<'a>
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
impl<T> ErasedDestructor for Twhere
T: 'static,
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