tmp: temporary AccountCache

will be removed before PR ends

Signed-off-by: kernelkind <kernelkind@gmail.com>
This commit is contained in:
kernelkind
2025-07-01 21:44:23 -04:00
parent f357935cca
commit a962d67536

View File

@@ -90,6 +90,14 @@ impl AccountCache {
.get_mut(&self.selected)
.expect("guarenteed that selected exists in accounts")
}
pub fn contains(&self, pk: &[u8; 32]) -> bool {
self.accounts.contains_key(pk)
}
pub(super) fn iter_mut(&mut self) -> AccountCacheIterMut<'_> {
AccountCacheIterMut(self.accounts.iter_mut())
}
}
impl<'a> IntoIterator for &'a AccountCache {
@@ -100,3 +108,13 @@ impl<'a> IntoIterator for &'a AccountCache {
self.accounts.iter()
}
}
pub(super) struct AccountCacheIterMut<'a>(hashbrown::hash_map::IterMut<'a, Pubkey, UserAccount>);
impl<'a> Iterator for AccountCacheIterMut<'a> {
type Item = (&'a Pubkey, &'a mut UserAccount);
fn next(&mut self) -> Option<Self::Item> {
self.0.next()
}
}