From 2885dfc933f800f6233b28b4b942b82acbd2779c Mon Sep 17 00:00:00 2001 From: Dennis Schwerdel Date: Sun, 16 Apr 2017 21:39:50 +0200 Subject: [PATCH] Calculating final bundle size --- src/bundledb/writer.rs | 10 +++++----- src/repository/basic_io.rs | 2 +- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/src/bundledb/writer.rs b/src/bundledb/writer.rs index 728c3c5..ae332fd 100644 --- a/src/bundledb/writer.rs +++ b/src/bundledb/writer.rs @@ -135,13 +135,13 @@ impl BundleWriter { Ok(StoredBundle { path: path, info: info }) } - #[inline] - pub fn size(&self) -> usize { - self.data.len() - } - #[inline] pub fn raw_size(&self) -> usize { self.raw_size } + + #[inline] + pub fn estimate_final_size(&self) -> usize { + self.data.len() + self.chunk_count * 20 + 500 + } } diff --git a/src/repository/basic_io.rs b/src/repository/basic_io.rs index ec316ee..78383b7 100644 --- a/src/repository/basic_io.rs +++ b/src/repository/basic_io.rs @@ -142,7 +142,7 @@ impl Repository { BundleMode::Meta => &mut self.meta_bundle }; if let Some(ref writer) = *writer { - (writer.size(), writer.raw_size()) + (writer.estimate_final_size(), writer.raw_size()) } else { return Ok(()) }