in librabft-v2/src/record_store.rs [221:235]
fn update_commit_3chain_round(&mut self, qc_hash: QuorumCertificateHash<Context::HashValue>) {
let rounds = {
let mut iter = self.ancestor_rounds(qc_hash);
let r3 = iter.next();
let r2 = iter.next();
let r1 = iter.next();
(r1, r2, r3)
};
if let (Some(r1), Some(r2), Some(r3)) = rounds {
if r3 == r2 + 1 && r2 == r1 + 1 && r1 > self.highest_committed_round {
self.highest_committed_round = r1;
self.highest_commit_certificate_hash = Some(qc_hash);
}
}
}