pub struct MemoryProjection { /* private fields */ }Implementations§
Source§impl MemoryProjection
impl MemoryProjection
Sourcepub fn try_from_parts(
nodes: Vec<MemoryNode>,
facts: Vec<MemoryFact>,
known_at: Timestamp,
source_position: Option<u64>,
) -> Result<Self>
pub fn try_from_parts( nodes: Vec<MemoryNode>, facts: Vec<MemoryFact>, known_at: Timestamp, source_position: Option<u64>, ) -> Result<Self>
Builds a current projection from already extracted nodes and facts.
This bypasses event-envelope replay but retains domain, endpoint,
uniqueness, evidence, and supersession validation. All nodes are treated
as revisions recorded at known_at. Large fact sets are prepared in
parallel using scoped standard-library threads.
§Errors
Rejects duplicate identifiers, invalid nodes or facts, missing
endpoints, facts recorded after known_at, and invalid supersession
chains.
Source§impl MemoryProjection
impl MemoryProjection
pub const fn last_global_position(&self) -> Option<u64>
pub fn superseded_by(&self, fact: &FactId) -> Option<&FactId>
pub fn view(&self, clock: ProjectionClock) -> MemoryView
Sourcepub fn view_ref(&self, clock: ProjectionClock) -> MemoryViewRef<'_>
pub fn view_ref(&self, clock: ProjectionClock) -> MemoryViewRef<'_>
Borrows a temporal view without cloning node, fact, or evidence payloads.
This is the preferred boundary for lexical and vector index providers that only need to read the current evidence projection.
Trait Implementations§
Source§impl Clone for MemoryProjection
impl Clone for MemoryProjection
Source§fn clone(&self) -> MemoryProjection
fn clone(&self) -> MemoryProjection
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 moreSource§impl Debug for MemoryProjection
impl Debug for MemoryProjection
Source§impl Default for MemoryProjection
impl Default for MemoryProjection
Source§impl<'de> Deserialize<'de> for MemoryProjection
impl<'de> Deserialize<'de> for MemoryProjection
Source§fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>where
D: Deserializer<'de>,
fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>where
D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
impl Eq for MemoryProjection
Source§impl PartialEq for MemoryProjection
impl PartialEq for MemoryProjection
Source§impl Projection<MemoryEvent> for MemoryProjection
impl Projection<MemoryEvent> for MemoryProjection
Source§fn prepare_replay(&mut self, events: &[StoredEvent<MemoryEvent>])
fn prepare_replay(&mut self, events: &[StoredEvent<MemoryEvent>])
Reserves projection-specific capacity before a known replay batch. Read more
Source§fn apply(&mut self, event: &StoredEvent<MemoryEvent>) -> Result<()>
fn apply(&mut self, event: &StoredEvent<MemoryEvent>) -> Result<()>
Applies one validated stored event. Read more
Source§fn apply_owned(&mut self, event: StoredEvent<MemoryEvent>) -> Result<()>
fn apply_owned(&mut self, event: StoredEvent<MemoryEvent>) -> Result<()>
Applies one owned event. The default preserves the borrowed contract;
projections may override it to move large payloads without cloning. Read more
Auto Trait Implementations§
impl Freeze for MemoryProjection
impl RefUnwindSafe for MemoryProjection
impl Send for MemoryProjection
impl Sync for MemoryProjection
impl Unpin for MemoryProjection
impl UnsafeUnpin for MemoryProjection
impl UnwindSafe for MemoryProjection
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