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(()) }