use solana_runtime::accounts_db::AccountStorageEntry; use solana_runtime::status_cache::SlotDelta; use solana_sdk::{clock::Slot, transaction}; use std::path::PathBuf; use std::sync::mpsc::{Receiver, SendError, Sender}; use std::sync::Arc; use tempfile::TempDir; pub type SnapshotPackageSender = Sender; pub type SnapshotPackageReceiver = Receiver; pub type SnapshotPackageSendError = SendError; #[derive(Debug)] pub struct SnapshotPackage { pub root: Slot, pub slot_deltas: Vec>>, pub snapshot_links: TempDir, pub storage_entries: Vec>, pub tar_output_file: PathBuf, } impl SnapshotPackage { pub fn new( root: Slot, slot_deltas: Vec>>, snapshot_links: TempDir, storage_entries: Vec>, tar_output_file: PathBuf, ) -> Self { Self { root, slot_deltas, snapshot_links, storage_entries, tar_output_file, } } }