From a5f07638ec71e92c46e188a09b5efc6ae2bfe9ac Mon Sep 17 00:00:00 2001 From: Stephen Akridge Date: Fri, 28 Sep 2018 11:52:35 -0700 Subject: [PATCH] Use static str define for ledger files --- src/bin/replicator.rs | 5 +++-- src/ledger.rs | 25 ++++++++++++++----------- 2 files changed, 17 insertions(+), 13 deletions(-) diff --git a/src/bin/replicator.rs b/src/bin/replicator.rs index b0839f9f6e..c7f24b75d3 100644 --- a/src/bin/replicator.rs +++ b/src/bin/replicator.rs @@ -9,6 +9,7 @@ use clap::{App, Arg}; use solana::chacha::chacha_cbc_encrypt_files; use solana::crdt::Node; use solana::fullnode::Config; +use solana::ledger::LEDGER_DATA_FILE; use solana::logger; use solana::replicator::Replicator; use solana::signature::{Keypair, KeypairUtil}; @@ -106,8 +107,8 @@ fn main() { println!("Done downloading ledger"); let ledger_path = Path::new(ledger_path.unwrap()); - let ledger_data_file = ledger_path.join("data"); - let ledger_data_file_encrypted = ledger_path.join("data.enc"); + let ledger_data_file = ledger_path.join(LEDGER_DATA_FILE); + let ledger_data_file_encrypted = ledger_path.join(format!("{}.enc", LEDGER_DATA_FILE)); let key = "abc123"; if let Err(e) = chacha_cbc_encrypt_files( diff --git a/src/ledger.rs b/src/ledger.rs index d639843bf2..4a413233f9 100644 --- a/src/ledger.rs +++ b/src/ledger.rs @@ -71,6 +71,9 @@ pub struct LedgerWindow { data: BufReader, } +pub const LEDGER_DATA_FILE: &str = "data"; +const LEDGER_INDEX_FILE: &str = "index"; + // use a CONST because there's a cast, and we don't want "sizeof:: as u64"... const SIZEOF_U64: u64 = size_of::() as u64; @@ -104,9 +107,9 @@ impl LedgerWindow { pub fn open(ledger_path: &str) -> io::Result { let ledger_path = Path::new(&ledger_path); - let index = File::open(ledger_path.join("index"))?; + let index = File::open(ledger_path.join(LEDGER_INDEX_FILE))?; let index = BufReader::with_capacity((WINDOW_SIZE * SIZEOF_U64) as usize, index); - let data = File::open(ledger_path.join("data"))?; + let data = File::open(ledger_path.join(LEDGER_DATA_FILE))?; let data = BufReader::with_capacity(WINDOW_SIZE as usize * BLOB_DATA_SIZE, data); Ok(LedgerWindow { index, data }) @@ -121,7 +124,7 @@ impl LedgerWindow { pub fn verify_ledger(ledger_path: &str) -> io::Result<()> { let ledger_path = Path::new(&ledger_path); - let index = File::open(ledger_path.join("index"))?; + let index = File::open(ledger_path.join(LEDGER_INDEX_FILE))?; let index_len = index.metadata()?.len(); @@ -133,7 +136,7 @@ pub fn verify_ledger(ledger_path: &str) -> io::Result<()> { } let mut index = BufReader::with_capacity((WINDOW_SIZE * SIZEOF_U64) as usize, index); - let data = File::open(ledger_path.join("data"))?; + let data = File::open(ledger_path.join(LEDGER_DATA_FILE))?; let mut data = BufReader::with_capacity(WINDOW_SIZE as usize * BLOB_DATA_SIZE, data); let mut last_data_offset = 0; @@ -190,12 +193,12 @@ fn recover_ledger(ledger_path: &str) -> io::Result<()> { let mut index = OpenOptions::new() .write(true) .read(true) - .open(ledger_path.join("index"))?; + .open(ledger_path.join(LEDGER_INDEX_FILE))?; let mut data = OpenOptions::new() .write(true) .read(true) - .open(ledger_path.join("data"))?; + .open(ledger_path.join(LEDGER_DATA_FILE))?; // first, truncate to a multiple of SIZEOF_U64 let len = index.metadata()?.len(); @@ -298,7 +301,7 @@ impl LedgerWriter { let index = OpenOptions::new() .create(create) .append(true) - .open(ledger_path.join("index"))?; + .open(ledger_path.join(LEDGER_INDEX_FILE))?; if log_enabled!(Trace) { let len = index.metadata()?.len(); @@ -309,7 +312,7 @@ impl LedgerWriter { let data = OpenOptions::new() .create(create) .append(true) - .open(ledger_path.join("data"))?; + .open(ledger_path.join(LEDGER_DATA_FILE))?; if log_enabled!(Trace) { let len = data.metadata()?.len(); @@ -393,7 +396,7 @@ pub fn read_ledger( } let ledger_path = Path::new(&ledger_path); - let data = File::open(ledger_path.join("data"))?; + let data = File::open(ledger_path.join(LEDGER_DATA_FILE))?; let data = BufReader::new(data); Ok(LedgerReader { data }) @@ -752,7 +755,7 @@ mod tests { } assert!(window.get_entry(100).is_err()); - std::fs::remove_file(Path::new(&ledger_path).join("data")).unwrap(); + std::fs::remove_file(Path::new(&ledger_path).join(LEDGER_DATA_FILE)).unwrap(); // empty data file should fall over assert!(LedgerWindow::open(&ledger_path).is_err()); assert!(read_ledger(&ledger_path, false).is_err()); @@ -770,7 +773,7 @@ mod tests { let data = OpenOptions::new() .write(true) - .open(Path::new(&ledger_path).join("data")) + .open(Path::new(&ledger_path).join(LEDGER_DATA_FILE)) .unwrap(); data.set_len(len - 4).unwrap(); }