mirror of https://github.com/poanetwork/hbbft.git
corrected the count of AUX messages
This commit is contained in:
parent
b6a6bb35ea
commit
259d5369b0
|
@ -210,15 +210,17 @@ impl<NodeUid: Clone + Eq + Hash> Agreement<NodeUid> {
|
|||
/// can, however, expect every good node to send an AUX value that will
|
||||
/// eventually end up in our bin_values.
|
||||
fn count_aux(&self) -> (usize, BTreeSet<bool>) {
|
||||
let mut vals: BTreeSet<bool> = BTreeSet::new();
|
||||
let mut count = 0;
|
||||
let vals: BTreeSet<bool> = self.received_aux
|
||||
.values()
|
||||
.filter(|b| {
|
||||
count += 1;
|
||||
self.bin_values.contains(b)
|
||||
})
|
||||
.cloned()
|
||||
.collect();
|
||||
|
||||
for b in self.received_aux.values() {
|
||||
if self.bin_values.contains(b) {
|
||||
vals.insert(b.clone());
|
||||
}
|
||||
}
|
||||
|
||||
(vals.len(), vals)
|
||||
(count, vals)
|
||||
}
|
||||
|
||||
/// Waits until at least (N − f) AUX_r messages have been received, such that
|
||||
|
|
|
@ -179,8 +179,7 @@ impl<NodeUid: Clone + Debug + Display + Eq + Hash + Ord> CommonSubset<NodeUid> {
|
|||
let mut result = Err(Error::NoSuchAgreementInstance);
|
||||
|
||||
// Send the message to the local instance of Agreement
|
||||
if let Some(mut agreement_instance) = self.agreement_instances.get_mut(&element_proposer_id)
|
||||
{
|
||||
if let Some(agreement_instance) = self.agreement_instances.get_mut(&element_proposer_id) {
|
||||
// Optional output of agreement and outgoing agreement
|
||||
// messages to remote nodes.
|
||||
result = if agreement_instance.terminated() {
|
||||
|
|
Loading…
Reference in New Issue