Skip to main content

krabka_verified/
restore_sidecar.rs

1//! Restore-side validation of archived sparse indexes and state sidecars.
2
3#[cfg(creusot)]
4use creusot_std::prelude::{DeepModel, Int, invariant};
5
6/// One decoded aborted-transaction index entry (`AbortedTxn`).
7#[krabka_macros::model_type]
8pub struct RestoreAbortedTxn {
9    pub producer_id: i64,
10    /// The transaction's first offset. It may precede the segment base when
11    /// the transaction began before a segment roll.
12    pub start_offset: i64,
13    /// The abort marker's offset.
14    pub last_offset: i64,
15}
16
17/// The inclusive offset extent of the segment that owns an index.
18#[krabka_macros::model_type]
19pub struct RestoreSegmentExtent {
20    pub base_offset: i64,
21    pub last_offset: i64,
22}
23
24mod restore_producer_ids_strict;
25pub use restore_producer_ids_strict::{
26    restore_index_frontier, restore_leader_epoch_entry_valid, restore_offset_index_entry_valid,
27    restore_producer_ids_strict, restore_time_index_entry_valid, restore_txn_index_entry_valid,
28};
29
30#[cfg(test)]
31mod tests;