From e42ab8469e342e59e29fff9bb7877b2749c94058 Mon Sep 17 00:00:00 2001 From: Kirill Date: Mon, 2 Mar 2026 16:48:21 +0300 Subject: [PATCH] feat(sync): Added implementation for better data view in strict --- src/operations.rs | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/src/operations.rs b/src/operations.rs index f29084a..264deea 100644 --- a/src/operations.rs +++ b/src/operations.rs @@ -55,6 +55,21 @@ pub struct SyncStats { pub transfer_speed: f64, // в байтах в секунду } +impl SyncStats { + pub fn format_speed(&self) -> String { + let speed = self.transfer_speed; + if speed < 1024.0 { + format!("{:.0} B/s", speed) + } else if speed < 1024.0 * 1024.0 { + format!("{:.1} KB/s", speed / 1024.0) + } else if speed < 1024.0 * 1024.0 * 1024.0 { + format!("{:.1} MB/s", speed / (1024.0 * 1024.0)) + } else { + format!("{:.2} GB/s", speed / (1024.0 * 1024.0 * 1024.0)) + } + } +} + #[derive(Debug, Default)] pub struct CopyOptions { pub verbose: bool,