Skip to content

Commit 6e0e572

Browse files
committed
Simplify some calls
1 parent 2e3fc03 commit 6e0e572

File tree

1 file changed

+20
-23
lines changed

1 file changed

+20
-23
lines changed

src/filters/fb_builder.rs

Lines changed: 20 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -36,22 +36,13 @@ struct NetworkFilterListBuilder {
3636
optimize: bool,
3737
}
3838

39+
#[derive(Default)]
3940
struct EngineFlatBuilder<'a> {
4041
fb_builder: flatbuffers::FlatBufferBuilder<'a>,
4142
unique_domains_hashes: HashMap<Hash, u32>,
4243
unique_domains_hashes_vec: Vec<Hash>,
4344
}
4445

45-
impl Default for EngineFlatBuilder<'_> {
46-
fn default() -> Self {
47-
Self {
48-
fb_builder: flatbuffers::FlatBufferBuilder::new(),
49-
unique_domains_hashes: HashMap::new(),
50-
unique_domains_hashes_vec: Vec::new(),
51-
}
52-
}
53-
}
54-
5546
impl<'a> EngineFlatBuilder<'a> {
5647
pub fn get_or_insert_unique_domain_hash(&mut self, hash: &Hash) -> u32 {
5748
if let Some(&index) = self.unique_domains_hashes.get(hash) {
@@ -63,9 +54,24 @@ impl<'a> EngineFlatBuilder<'a> {
6354
index
6455
}
6556

66-
pub fn write_unique_domains(&mut self) -> WIPOffset<Vector<'a, u64>> {
67-
self.fb_builder
68-
.create_vector(&self.unique_domains_hashes_vec)
57+
pub fn finish(
58+
&mut self,
59+
network_rules: WIPFlatVec<'a, NetworkFilterListBuilder, EngineFlatBuilder<'a>>,
60+
) -> VerifiedFlatbufferMemory {
61+
let unique_domains_hashes = Some(
62+
self.fb_builder
63+
.create_vector(&self.unique_domains_hashes_vec),
64+
);
65+
let network_rules = Some(network_rules);
66+
let engine = fb::Engine::create(
67+
self.raw_builder(),
68+
&fb::EngineArgs {
69+
network_rules,
70+
unique_domains_hashes,
71+
},
72+
);
73+
self.raw_builder().finish(engine, None);
74+
VerifiedFlatbufferMemory::from_builder(self.raw_builder())
6975
}
7076
}
7177

@@ -337,14 +343,5 @@ pub fn make_flatbuffer(
337343
let mut builder = EngineFlatBuilder::default();
338344
let network_rules_builder = NetworkRulesBuilder::from_rules(network_filters, optimize);
339345
let network_rules = FlatSerialize::serialize(network_rules_builder, &mut builder);
340-
let unique_domains_hashes = Some(builder.write_unique_domains());
341-
let engine = fb::Engine::create(
342-
builder.raw_builder(),
343-
&fb::EngineArgs {
344-
network_rules: Some(network_rules),
345-
unique_domains_hashes,
346-
},
347-
);
348-
builder.raw_builder().finish(engine, None);
349-
VerifiedFlatbufferMemory::from_builder(builder.raw_builder())
346+
builder.finish(network_rules)
350347
}

0 commit comments

Comments
 (0)