pub struct InMemorySessionLedger { /* private fields */ }Expand description
The in-process ledger.
Implementations§
Source§impl InMemorySessionLedger
impl InMemorySessionLedger
Sourcepub fn new(session_id: SessionId, config: IngestionConfig) -> Self
pub fn new(session_id: SessionId, config: IngestionConfig) -> Self
A ledger for one session.
Sourcepub fn session_id(&self) -> &SessionId
pub fn session_id(&self) -> &SessionId
The session this ledger belongs to.
Sourcepub fn usable_candidates(&self) -> Vec<SessionCandidate>
pub fn usable_candidates(&self) -> Vec<SessionCandidate>
Candidates usable for retrieval right now.
Sourcepub fn micro_reconcile(&self) -> MicroReconciliationReport
pub fn micro_reconcile(&self) -> MicroReconciliationReport
Merge duplicates, resolve in-session contradictions, and re-evaluate statuses (§18).
Runs on a cadence during the session. Deliberately local: it compares candidates against each other, never against the durable corpus.
Trait Implementations§
Source§impl Debug for InMemorySessionLedger
impl Debug for InMemorySessionLedger
Source§impl SessionLedger for InMemorySessionLedger
impl SessionLedger for InMemorySessionLedger
Source§fn append_observation<'life0, 'async_trait>(
&'life0 self,
observation: MemoryObservation,
) -> Pin<Box<dyn Future<Output = Result<LedgerOutcome, MemoryError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn append_observation<'life0, 'async_trait>(
&'life0 self,
observation: MemoryObservation,
) -> Pin<Box<dyn Future<Output = Result<LedgerOutcome, MemoryError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Offer an observation to the ledger.
Source§fn snapshot<'life0, 'async_trait>(
&'life0 self,
) -> Pin<Box<dyn Future<Output = Result<SessionLedgerSnapshot, MemoryError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn snapshot<'life0, 'async_trait>(
&'life0 self,
) -> Pin<Box<dyn Future<Output = Result<SessionLedgerSnapshot, MemoryError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Read the current candidate set.
Source§fn seal<'life0, 'async_trait>(
&'life0 self,
) -> Pin<Box<dyn Future<Output = Result<SealedSessionLedger, MemoryError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn seal<'life0, 'async_trait>(
&'life0 self,
) -> Pin<Box<dyn Future<Output = Result<SealedSessionLedger, MemoryError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Close the ledger and hand its candidates to consolidation.
Auto Trait Implementations§
impl !Freeze for InMemorySessionLedger
impl !RefUnwindSafe for InMemorySessionLedger
impl Send for InMemorySessionLedger
impl Sync for InMemorySessionLedger
impl Unpin for InMemorySessionLedger
impl UnwindSafe for InMemorySessionLedger
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<S> FromSample<S> for S
impl<S> FromSample<S> for S
fn from_sample_(s: S) -> S
§impl<T> FutureExt for T
impl<T> FutureExt for T
§fn with_context(self, otel_cx: Context) -> WithContext<Self>
fn with_context(self, otel_cx: Context) -> WithContext<Self>
§fn with_current_context(self) -> WithContext<Self>
fn with_current_context(self) -> WithContext<Self>
§impl<T> FutureExt for T
impl<T> FutureExt for T
§fn with_context(self, otel_cx: Context) -> WithContext<Self>
fn with_context(self, otel_cx: Context) -> WithContext<Self>
§fn with_current_context(self) -> WithContext<Self>
fn with_current_context(self) -> WithContext<Self>
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
§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§impl<T> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
Wrap the input message
T in a tonic::Request§impl<L> LayerExt<L> for L
impl<L> LayerExt<L> for L
§fn named_layer<S>(&self, service: S) -> Layered<<L as Layer<S>>::Service, S>where
L: Layer<S>,
fn named_layer<S>(&self, service: S) -> Layered<<L as Layer<S>>::Service, S>where
L: Layer<S>,
Applies the layer to a service and wraps it in [
Layered].