pub struct ColdRecord {Show 15 fields
pub id: MemoryId,
pub galaxy: Galaxy,
pub content_hash: String,
pub cold_stored_at: DateTime<Utc>,
pub outer_rim_distance: f32,
pub distance_factors: OuterRimFactors,
pub digest_id: Option<MemoryId>,
pub lineage_notes: Option<String>,
pub codec: CompressionCodec,
pub uncompressed_size: usize,
pub compressed_payload: Vec<u8>,
pub version: u64,
pub tags: Vec<String>,
pub title: Option<String>,
pub snippet: String,
}Expand description
A persistent record stored in the cold archive.
Fields§
§id: MemoryIdMemory UUID.
galaxy: GalaxyOriginal galaxy this memory belonged to.
content_hash: StringContent hash (SHA-256) for integrity verification.
cold_stored_at: DateTime<Utc>Timestamp when this memory was migrated into cold storage.
outer_rim_distance: f32Outer-rim distance calculated at freezing time.
distance_factors: OuterRimFactorsFactor breakdown at freezing time.
digest_id: Option<MemoryId>ID of the distilled thematic node (if synthesized during digestion).
lineage_notes: Option<String>Lineage & provenance notes.
codec: CompressionCodecCompression codec used.
uncompressed_size: usizeUncompressed payload size in bytes.
compressed_payload: Vec<u8>Compressed binary payload containing the full original Memory.
version: u64Vector clock / version at freezing time.
Fast-search tags preserved in cold header.
title: Option<String>Title preserved in cold header.
snippet: StringText snippet for rapid search without decompression.
Implementations§
Source§impl ColdRecord
impl ColdRecord
Sourcepub fn new(
mem: &Memory,
outer_rim_distance: f32,
distance_factors: OuterRimFactors,
digest_id: Option<MemoryId>,
lineage_notes: Option<String>,
codec: CompressionCodec,
) -> Result<Self>
pub fn new( mem: &Memory, outer_rim_distance: f32, distance_factors: OuterRimFactors, digest_id: Option<MemoryId>, lineage_notes: Option<String>, codec: CompressionCodec, ) -> Result<Self>
Create a new cold record by compressing a hot memory.
Sourcepub fn summary(&self) -> ColdRecordSummary
pub fn summary(&self) -> ColdRecordSummary
Extract a lightweight summary without decompressing the full memory payload.
Sourcepub fn decompress(&self) -> Result<Memory>
pub fn decompress(&self) -> Result<Memory>
Decompress and restore the complete original Memory.
Trait Implementations§
Source§impl Clone for ColdRecord
impl Clone for ColdRecord
Source§impl Debug for ColdRecord
impl Debug for ColdRecord
Source§impl<'de> Deserialize<'de> for ColdRecord
impl<'de> Deserialize<'de> for ColdRecord
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>,
Source§impl PartialEq for ColdRecord
impl PartialEq for ColdRecord
Source§impl Serialize for ColdRecord
impl Serialize for ColdRecord
impl StructuralPartialEq for ColdRecord
Auto Trait Implementations§
impl Freeze for ColdRecord
impl RefUnwindSafe for ColdRecord
impl Send for ColdRecord
impl Sync for ColdRecord
impl Unpin for ColdRecord
impl UnsafeUnpin for ColdRecord
impl UnwindSafe for ColdRecord
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
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> DeserializeOwned for Twhere
T: for<'de> Deserialize<'de>,
Source§impl<T> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere
T: Any,
Source§fn into_any(self: Box<T>) -> Box<dyn Any>
fn into_any(self: Box<T>) -> Box<dyn Any>
Box<dyn Trait> (where Trait: Downcast) to Box<dyn Any>, which can then be
downcast into Box<dyn ConcreteType> where ConcreteType implements Trait.Source§fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
Rc<Trait> (where Trait: Downcast) to Rc<Any>, which can then be further
downcast into Rc<ConcreteType> where ConcreteType implements Trait.Source§fn as_any(&self) -> &(dyn Any + 'static)
fn as_any(&self) -> &(dyn Any + 'static)
&Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &Any’s vtable from &Trait’s.Source§fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
&mut Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &mut Any’s vtable from &mut Trait’s.Source§impl<T> DowncastSend for T
impl<T> DowncastSend for T
Source§impl<T> DowncastSync for T
impl<T> DowncastSync for T
impl<T> Fruit for T
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> ⓘ
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> ⓘ
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