pub struct SessionArchive { /* private fields */ }Expand description
Validated interchange/diagnostic representation of one complete session.
Implementations§
Source§impl SessionArchive
impl SessionArchive
Sourcepub fn new(
session_id: SessionId,
records: Vec<RecordEnvelope>,
approval_artifacts: Vec<ApprovalArtifactEntry>,
grant_journal: Vec<GrantJournalEntry>,
) -> Result<Self, SessionArchiveError>
pub fn new( session_id: SessionId, records: Vec<RecordEnvelope>, approval_artifacts: Vec<ApprovalArtifactEntry>, grant_journal: Vec<GrantJournalEntry>, ) -> Result<Self, SessionArchiveError>
Builds and validates an archive from complete source facts.
§Errors
Returns an error when records, sequence, references, or typed journals do not form one valid session.
Sourcepub fn from_snapshot(
snapshot: &SessionSnapshot,
) -> Result<Self, SessionArchiveError>
pub fn from_snapshot( snapshot: &SessionSnapshot, ) -> Result<Self, SessionArchiveError>
Exports one immutable store snapshot after revalidating source facts.
§Errors
Returns an error if the snapshot cannot be represented as a valid archive.
Sourcepub fn decode_json(input: &str) -> Result<Self, SessionArchiveError>
pub fn decode_json(input: &str) -> Result<Self, SessionArchiveError>
Decodes duplicate-key-safe untrusted JSON and validates the full archive.
§Errors
Returns a stable archive error for oversized input, duplicate keys, unsupported format/protocol records, or invalid session semantics.
Sourcepub fn import_into(
self,
store: &dyn SessionStore,
) -> SessionStoreFuture<'_, AppendOutcome>
pub fn import_into( self, store: &dyn SessionStore, ) -> SessionStoreFuture<'_, AppendOutcome>
Imports this complete archive into a store as one create transaction.
Destination stores reject an existing session and validate all source facts before making any data visible.
Sourcepub const fn format_version(&self) -> u32
pub const fn format_version(&self) -> u32
Returns archive format version.
Sourcepub const fn session_id(&self) -> SessionId
pub const fn session_id(&self) -> SessionId
Returns archived session identity.
Sourcepub fn records(&self) -> &[RecordEnvelope]
pub fn records(&self) -> &[RecordEnvelope]
Returns canonical records in authoritative order.
Sourcepub fn approval_artifacts(&self) -> &[ApprovalArtifactEntry]
pub fn approval_artifacts(&self) -> &[ApprovalArtifactEntry]
Returns rich approval journal.
Sourcepub fn grant_journal(&self) -> &[GrantJournalEntry]
pub fn grant_journal(&self) -> &[GrantJournalEntry]
Returns append-only grant journal.
Trait Implementations§
Source§impl Clone for SessionArchive
impl Clone for SessionArchive
Source§fn clone(&self) -> SessionArchive
fn clone(&self) -> SessionArchive
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more