Skip to content
This repository has been archived by the owner on Nov 15, 2023. It is now read-only.

Commit

Permalink
Refactory of Fork-Tree data structure (#11228)
Browse files Browse the repository at this point in the history
* Iterative version of some fork-tree methods

* Prune doesn't require its generic args to be 'clone'

* Fork-tree import and drain-filter iterative implementations

* Fork-tree map iterative implementation

* Optimization of some operations, e.g. rebalance only when required

* Destructuring assignments not supported yet by stable rustc 1.57

* Safe implementation of 'map' and 'drain_filter' methods

* Remove dummy comment

* Trigger CI pipeline

* Test map for multi-root fork-tree and refactory of `find_node_index_where`

* Fix find node index with predicate

* Nits

* Tree traversal algorithm is not specified

* Move unspecified tree traversal warning to 'map'

* Immutable 'drain_filter' predicate

* Apply suggestions from code review

* Remove double mapping

Co-authored-by: André Silva <123550+andresilva@users.noreply.github.com>
  • Loading branch information
davxy and andresilva authored May 10, 2022
1 parent bbe4fd4 commit b9df248
Show file tree
Hide file tree
Showing 2 changed files with 359 additions and 424 deletions.
4 changes: 2 additions & 2 deletions client/finality-grandpa/src/authorities.rs
Original file line number Diff line number Diff line change
Expand Up @@ -229,7 +229,7 @@ where
where
F: Fn(&H, &H) -> Result<bool, E>,
{
let mut filter = |node_hash: &H, node_num: &N, _: &PendingChange<H, N>| {
let filter = |node_hash: &H, node_num: &N, _: &PendingChange<H, N>| {
if number >= *node_num &&
(is_descendent_of(node_hash, &hash).unwrap_or_default() || *node_hash == hash)
{
Expand All @@ -245,7 +245,7 @@ where
};

// Remove standard changes.
let _ = self.pending_standard_changes.drain_filter(&mut filter);
let _ = self.pending_standard_changes.drain_filter(&filter);

// Remove forced changes.
self.pending_forced_changes
Expand Down
Loading

0 comments on commit b9df248

Please sign in to comment.