2020-02-21 15:27:55 +09:00
|
|
|
use solana_runtime::{accounts_db::SnapshotStorages, bank::BankSlotDelta};
|
2020-02-10 20:11:37 +09:00
|
|
|
use solana_sdk::clock::Slot;
|
2020-02-20 11:46:13 -08:00
|
|
|
use solana_sdk::hash::Hash;
|
2020-02-18 10:02:29 -07:00
|
|
|
use std::{
|
|
|
|
path::PathBuf,
|
2020-02-21 15:27:55 +09:00
|
|
|
sync::mpsc::{Receiver, SendError, Sender},
|
2020-02-18 10:02:29 -07:00
|
|
|
};
|
2019-08-07 13:12:53 -07:00
|
|
|
use tempfile::TempDir;
|
2019-07-31 17:58:10 -07:00
|
|
|
|
|
|
|
pub type SnapshotPackageSender = Sender<SnapshotPackage>;
|
|
|
|
pub type SnapshotPackageReceiver = Receiver<SnapshotPackage>;
|
2019-10-20 09:54:38 -06:00
|
|
|
pub type SnapshotPackageSendError = SendError<SnapshotPackage>;
|
2019-07-31 17:58:10 -07:00
|
|
|
|
2020-01-23 09:46:30 -07:00
|
|
|
#[derive(Debug)]
|
2019-07-31 17:58:10 -07:00
|
|
|
pub struct SnapshotPackage {
|
2020-01-23 10:20:34 -07:00
|
|
|
pub root: Slot,
|
2020-02-10 20:11:37 +09:00
|
|
|
pub slot_deltas: Vec<BankSlotDelta>,
|
2019-10-18 15:58:16 -06:00
|
|
|
pub snapshot_links: TempDir,
|
2020-02-21 15:27:55 +09:00
|
|
|
pub storages: SnapshotStorages,
|
2019-10-18 15:58:16 -06:00
|
|
|
pub tar_output_file: PathBuf,
|
2020-02-20 11:46:13 -08:00
|
|
|
pub hash: Hash,
|
2019-07-31 17:58:10 -07:00
|
|
|
}
|
|
|
|
|
|
|
|
impl SnapshotPackage {
|
|
|
|
pub fn new(
|
2020-01-23 10:20:34 -07:00
|
|
|
root: Slot,
|
2020-02-10 20:11:37 +09:00
|
|
|
slot_deltas: Vec<BankSlotDelta>,
|
2019-08-07 13:12:53 -07:00
|
|
|
snapshot_links: TempDir,
|
2020-02-21 15:27:55 +09:00
|
|
|
storages: SnapshotStorages,
|
2019-07-31 17:58:10 -07:00
|
|
|
tar_output_file: PathBuf,
|
2020-02-20 11:46:13 -08:00
|
|
|
hash: Hash,
|
2019-07-31 17:58:10 -07:00
|
|
|
) -> Self {
|
|
|
|
Self {
|
2019-08-21 16:36:21 -07:00
|
|
|
root,
|
2019-09-25 13:42:19 -07:00
|
|
|
slot_deltas,
|
2019-08-07 13:12:53 -07:00
|
|
|
snapshot_links,
|
2020-02-21 15:27:55 +09:00
|
|
|
storages,
|
2019-07-31 17:58:10 -07:00
|
|
|
tar_output_file,
|
2020-02-20 11:46:13 -08:00
|
|
|
hash,
|
2019-07-31 17:58:10 -07:00
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|