use crate::bank_forks::CompressionType; 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; pub type AccountsPackageReceiver = Receiver; pub type AccountsPackageSendError = SendError; #[derive(Debug)] pub struct AccountsPackage { pub root: Slot, pub block_height: Slot, pub slot_deltas: Vec, pub snapshot_links: TempDir, pub storages: SnapshotStorages, pub tar_output_file: PathBuf, pub hash: Hash, pub compression: CompressionType, pub snapshot_version: SnapshotVersion, } impl AccountsPackage { pub fn new( root: Slot, block_height: u64, slot_deltas: Vec, snapshot_links: TempDir, storages: SnapshotStorages, tar_output_file: PathBuf, hash: Hash, compression: CompressionType, snapshot_version: SnapshotVersion, ) -> Self { Self { root, block_height, slot_deltas, snapshot_links, storages, tar_output_file, hash, compression, snapshot_version, } } }