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 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53
use crate::bank_forks::ArchiveFormat; use crate::snapshot_utils::SnapshotVersion; use crate::{accounts_db::SnapshotStorages, bank::BankSlotDelta}; use solana_sdk::clock::Slot; use solana_sdk::hash::Hash; use std::{ path::PathBuf, sync::mpsc::{Receiver, SendError, Sender}, }; use tempfile::TempDir; pub type AccountsPackageSender = Sender<AccountsPackage>; pub type AccountsPackageReceiver = Receiver<AccountsPackage>; pub type AccountsPackageSendError = SendError<AccountsPackage>; #[derive(Debug)] pub struct AccountsPackage { pub slot: Slot, pub block_height: Slot, pub slot_deltas: Vec<BankSlotDelta>, pub snapshot_links: TempDir, pub storages: SnapshotStorages, pub tar_output_file: PathBuf, pub hash: Hash, pub archive_format: ArchiveFormat, pub snapshot_version: SnapshotVersion, } impl AccountsPackage { pub fn new( slot: Slot, block_height: u64, slot_deltas: Vec<BankSlotDelta>, snapshot_links: TempDir, storages: SnapshotStorages, tar_output_file: PathBuf, hash: Hash, archive_format: ArchiveFormat, snapshot_version: SnapshotVersion, ) -> Self { Self { slot, block_height, slot_deltas, snapshot_links, storages, tar_output_file, hash, archive_format, snapshot_version, } } }