pub struct Wal {
pub header: WalHeader,
pub records: Vec<WalRecord>,
}Expand description
Sealed WAL — the durable read-side counterpart to WalWriter.
Produced by Wal::from_writer or Wal::deserialize; consumed
by Wal::verify_chain / replay_into.
Fields§
§header: WalHeaderHeader pinned at writer construction.
records: Vec<WalRecord>Records in append order.
Implementations§
Source§impl Wal
impl Wal
Sourcepub fn from_writer(w: WalWriter) -> Self
pub fn from_writer(w: WalWriter) -> Self
Sourcepub fn serialize(&self) -> Result<Vec<u8>, WalError>
pub fn serialize(&self) -> Result<Vec<u8>, WalError>
Encode the entire WAL (header + records) as canonical postcard bytes.
Sourcepub fn verify_chain(&self, world_id: [u8; 32]) -> Result<(), WalError>
pub fn verify_chain(&self, world_id: [u8; 32]) -> Result<(), WalError>
Verify every record’s chain hash against the keyed BLAKE3 over
(prev_chain_hash || canonical body). When the header pins a
verifying_key (Tier 2 — Ed25519), each record’s signature
is also checked against the same body bytes. Returns Ok if
every check passes.
Trait Implementations§
Source§impl<'de> Deserialize<'de> for Wal
impl<'de> Deserialize<'de> for Wal
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
Auto Trait Implementations§
impl Freeze for Wal
impl RefUnwindSafe for Wal
impl Send for Wal
impl Sync for Wal
impl Unpin for Wal
impl UnsafeUnpin for Wal
impl UnwindSafe for Wal
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