diff options
Diffstat (limited to 'src/chunker/rw/storage/write.rs')
| -rw-r--r-- | src/chunker/rw/storage/write.rs | 30 |
1 files changed, 30 insertions, 0 deletions
diff --git a/src/chunker/rw/storage/write.rs b/src/chunker/rw/storage/write.rs index 9348901..e071e2a 100644 --- a/src/chunker/rw/storage/write.rs +++ b/src/chunker/rw/storage/write.rs @@ -15,6 +15,7 @@ use crate::{ }, }, storage::{simple::write_file_simple, stream::write_file_stream}, + utils::size_display::size_display, }; pub mod simple; @@ -119,3 +120,32 @@ pub fn get_index_file_name(path: &Path, ctx: &ButckContext) -> PathBuf { generate_unique_path(&ctx.output_dir, &desired_filename) } + +pub async fn display_boundaries(chunk_boundaries: &[u32], total_bytes: usize) { + let total_chunks = chunk_boundaries.len() + 1; + let (total_value, total_unit) = size_display(total_bytes); + println!( + "{} chunks, ({:.2} {}, {})", + total_chunks, total_value, total_unit, total_bytes + ); + let mut start = 0; + chunk_boundaries.iter().for_each(|p| { + let next = *p as usize; + let (size_value, size_unit) = size_display(next - start); + println!( + "{} - {} (size: {:.2} {})", + start, + next - 1, + size_value, + size_unit + ); + start = next; + }); + let last = start; + let r#final = total_bytes; + let (size_value, size_unit) = size_display(total_bytes - start); + println!( + "{} - {} (size: {:.2} {})", + last, r#final, size_value, size_unit + ); +} |
