Fix QHB loop with 1 validator.

This commit is contained in:
Andreas Fackler 2020-03-11 11:53:31 +01:00 committed by Andreas Fackler
parent 4857b7f9c7
commit 3b1f587521
2 changed files with 8 additions and 6 deletions

View File

@ -343,11 +343,13 @@ where
while self.can_propose() {
let amount = cmp::max(1, self.batch_size / self.dyn_hb.netinfo().num_nodes());
let proposal = self.queue.choose(rng, amount, self.batch_size);
step.extend(
self.dyn_hb
.handle_input(Input::User(proposal), rng)
.map_err(Error::Propose)?,
);
let propose_step = self
.dyn_hb
.handle_input(Input::User(proposal), rng)
.map_err(Error::Propose)?;
self.queue
.remove_multiple(propose_step.output.iter().flat_map(Batch::iter));
step.extend(propose_step);
}
Ok(step)
}

View File

@ -251,7 +251,7 @@ fn test_queueing_honey_badger_different_sizes<A, F>(
let mut rng: TestRng = TestRng::from_seed(seed);
let sizes = vec![3, 5, rng.gen_range(6, 10)];
let sizes = vec![2, 3, 5, rng.gen_range(6, 10)];
for size in sizes {
// The test is removing one correct node, so we allow fewer faulty ones.
let num_adv_nodes = util::max_faulty(size - 1);