Frame remove_all with size limit. (#9106)

* remove prefixed content with limit.

* test match

* factor comment and factor ext limit removal.

* fix benchmark

Co-authored-by: Shawn Tabrizi <shawntabrizi@gmail.com>
This commit is contained in:
cheme
2021-06-15 15:23:58 +02:00
committed by GitHub
parent 5f0257f3b3
commit 693b39f43b
36 changed files with 312 additions and 239 deletions
+4 -3
View File
@@ -461,14 +461,15 @@ impl<H: Hasher> StateBackend<H> for GenesisOrUnavailableState<H>
}
}
fn apply_to_child_keys_while<A: FnMut(&[u8]) -> bool>(
fn apply_to_keys_while<A: FnMut(&[u8]) -> bool>(
&self,
child_info: &ChildInfo,
child_info: Option<&ChildInfo>,
prefix: Option<&[u8]>,
action: A,
) {
match *self {
GenesisOrUnavailableState::Genesis(ref state) =>
state.apply_to_child_keys_while(child_info, action),
state.apply_to_keys_while(child_info, prefix, action),
GenesisOrUnavailableState::Unavailable => (),
}
}