1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28
use std::collections::BTreeMap; #[derive(Eq, PartialEq, Copy, Clone)] pub enum TransactionType { Read, Write, } pub(super) struct TransactionState { pub(super) ty: TransactionType, pub(super) offset_map: BTreeMap<u32, u64>, pub(super) frame_count: u32, pub(super) db_file_size: u64, } impl TransactionState { pub(super) fn new(ty: TransactionType, frame_count: u32, db_file_size: u64) -> TransactionState { TransactionState { ty, offset_map: BTreeMap::new(), frame_count, db_file_size, } } }