changeset 272:8b70eadcd6d2

filter_block: Implement size_estimate()
author Lewin Bormann <lbo@spheniscida.de>
date Thu, 21 Sep 2017 16:04:44 +0200
parents 26d6f6e1da7d
children c0381df8ed4f
files src/filter_block.rs
diffstat 1 files changed, 4 insertions(+), 2 deletions(-) [+]
line wrap: on
line diff
--- a/src/filter_block.rs	Thu Sep 21 16:04:25 2017 +0200
+++ b/src/filter_block.rs	Thu Sep 21 16:04:44 2017 +0200
@@ -47,6 +47,10 @@
         }
     }
 
+    pub fn size_estimate(&self) -> usize {
+        self.filters.len() + 4 * self.filter_offsets.len() + 4 + 1
+    }
+
     pub fn filter_name(&self) -> &'static str {
         self.policy.name()
     }
@@ -86,7 +90,6 @@
         let mut result = self.filters;
         let offsets_offset = result.len();
         let mut ix = result.len();
-
         result.resize(ix + 4 * self.filter_offsets.len() + 5, 0);
 
         // Put filter offsets at the end
@@ -97,7 +100,6 @@
 
         (offsets_offset as u32).encode_fixed(&mut result[ix..ix + 4]);
         ix += 4;
-
         result[ix] = FILTER_BASE_LOG2 as u8;
 
         result