summaryrefslogtreecommitdiff
path: root/src/chunker/rw/storage/write.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/chunker/rw/storage/write.rs')
-rw-r--r--src/chunker/rw/storage/write.rs30
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
+ );
+}