Skip to content
This repository has been archived by the owner on Jun 7, 2022. It is now read-only.

Commit

Permalink
Merge pull request #187 from darrenldl/dev
Browse files Browse the repository at this point in the history
Code refactoring of progress reporting code in modes
  • Loading branch information
darrenldl committed May 5, 2019
2 parents 01795ef + da26a1f commit f237a5e
Show file tree
Hide file tree
Showing 4 changed files with 25 additions and 14 deletions.
9 changes: 6 additions & 3 deletions src/decode_core.rs
Original file line number Diff line number Diff line change
Expand Up @@ -71,6 +71,7 @@ pub enum DecodeFailStats {
pub struct Stats {
uid: [u8; SBX_FILE_UID_LEN],
version: Version,
block_size: u64,
pub meta_blocks_decoded: u64,
pub data_blocks_decoded: u64,
pub parity_blocks_decoded: u64,
Expand Down Expand Up @@ -376,9 +377,11 @@ impl Stats {
parity_blocks_decode_failed: 0,
}),
};
let version = ref_block.get_version();
Stats {
uid: ref_block.get_uid(),
version: ref_block.get_version(),
version,
block_size: ver_to_block_size(version) as u64,
blocks_decode_failed,
meta_blocks_decoded: 0,
data_blocks_decoded: 0,
Expand Down Expand Up @@ -500,11 +503,11 @@ impl ProgressReport for Stats {
}

fn units_so_far(&self) -> u64 {
self.blocks_so_far() * ver_to_block_size(self.version) as u64
self.blocks_so_far() * self.block_size
}

fn total_units(&self) -> Option<u64> {
Some(self.total_blocks * ver_to_block_size(self.version) as u64)
Some(self.total_blocks * self.block_size)
}
}

Expand Down
12 changes: 7 additions & 5 deletions src/encode_core.rs
Original file line number Diff line number Diff line change
Expand Up @@ -41,10 +41,11 @@ use crate::misc_utils::{PositionOrLength, RangeEnd};
pub struct Stats {
uid: [u8; SBX_FILE_UID_LEN],
version: Version,
chunk_size: u64,
hash_bytes: Option<multihash::HashBytes>,
pub meta_blocks_written: u32,
pub data_blocks_written: u32,
pub parity_blocks_written: u32,
pub meta_blocks_written: u64,
pub data_blocks_written: u64,
pub parity_blocks_written: u64,
pub data_padding_bytes: usize,
pub in_file_size: u64,
pub out_file_size: u64,
Expand Down Expand Up @@ -225,6 +226,7 @@ impl Stats {
Stats {
uid: param.uid,
version: param.version,
chunk_size: ver_to_data_size(param.version) as u64,
hash_bytes: None,
meta_blocks_written: 0,
data_blocks_written: 0,
Expand Down Expand Up @@ -259,13 +261,13 @@ impl ProgressReport for Stats {
}

fn units_so_far(&self) -> u64 {
self.data_blocks_written as u64 * ver_to_data_size(self.version) as u64
self.data_blocks_written * self.chunk_size
}

fn total_units(&self) -> Option<u64> {
match self.total_data_blocks {
None => None,
Some(x) => Some(x * ver_to_data_size(self.version) as u64),
Some(x) => Some(x * self.chunk_size),
}
}
}
Expand Down
9 changes: 6 additions & 3 deletions src/repair_core.rs
Original file line number Diff line number Diff line change
Expand Up @@ -31,6 +31,7 @@ use crate::sbx_block::BlockType;
#[derive(Clone, Debug)]
pub struct Stats {
version: Version,
block_size: u64,
pub meta_blocks_decoded: u64,
pub data_or_par_blocks_decoded: u64,
pub blocks_decode_failed: u64,
Expand All @@ -45,8 +46,10 @@ pub struct Stats {

impl Stats {
pub fn new(ref_block: &Block, total_blocks: u64, json_printer: &Arc<JSONPrinter>) -> Stats {
let version = ref_block.get_version();
Stats {
version: ref_block.get_version(),
version,
block_size: ver_to_block_size(version),
blocks_decode_failed: 0,
meta_blocks_decoded: 0,
data_or_par_blocks_decoded: 0,
Expand Down Expand Up @@ -75,11 +78,11 @@ impl ProgressReport for Stats {
}

fn units_so_far(&self) -> u64 {
self.blocks_so_far() * ver_to_block_size(self.version) as u64
self.blocks_so_far() * self.block_size
}

fn total_units(&self) -> Option<u64> {
Some(self.total_blocks * ver_to_block_size(self.version) as u64)
Some(self.total_blocks * self.block_size)
}
}

Expand Down
9 changes: 6 additions & 3 deletions src/sort_core.rs
Original file line number Diff line number Diff line change
Expand Up @@ -94,6 +94,7 @@ impl Param {
#[derive(Clone, Debug)]
pub struct Stats {
version: Version,
block_size: u64,
pub meta_blocks_decoded: u64,
pub data_blocks_decoded: u64,
pub parity_blocks_decoded: u64,
Expand All @@ -115,8 +116,10 @@ impl Stats {
pub fn new(ref_block: &Block, file_size: u64, json_printer: &Arc<JSONPrinter>) -> Stats {
use crate::file_utils::from_container_size::calc_total_block_count;
let total_blocks = calc_total_block_count(ref_block.get_version(), file_size);
let version = ref_block.get_version();
Stats {
version: ref_block.get_version(),
version,
block_size: ver_to_block_size(version),
meta_blocks_decoded: 0,
data_blocks_decoded: 0,
parity_blocks_decoded: 0,
Expand Down Expand Up @@ -154,11 +157,11 @@ impl ProgressReport for Stats {
}

fn units_so_far(&self) -> u64 {
self.blocks_so_far() * ver_to_block_size(self.version) as u64
self.blocks_so_far() * self.block_size
}

fn total_units(&self) -> Option<u64> {
Some(self.total_blocks * ver_to_block_size(self.version) as u64)
Some(self.total_blocks * self.block_size)
}
}

Expand Down

0 comments on commit f237a5e

Please sign in to comment.