Skip to content

Commit

Permalink
fix: add check cause no longer safe
Browse files Browse the repository at this point in the history
  • Loading branch information
pk5ls20 committed Feb 12, 2025
1 parent 346d658 commit 2577e49
Show file tree
Hide file tree
Showing 2 changed files with 14 additions and 7 deletions.
9 changes: 6 additions & 3 deletions mania/src/core/cache.rs
Original file line number Diff line number Diff line change
Expand Up @@ -57,8 +57,11 @@ impl Cache {
}

pub(crate) fn insert_uin_uid(&self, uin: u32, uid: String) {
// SAFETY: we can ensure that the DashMap is not None
self.uin2uid.as_ref().unwrap().insert(uin, uid.clone());
self.uid2uin.as_ref().unwrap().insert(uid, uin);
self.uin2uid
.as_ref()
.map(|uin2uid| uin2uid.insert(uin, uid.clone()));
self.uid2uin
.as_ref()
.map(|uid2uin| uid2uin.insert(uid, uin));
}
}
12 changes: 8 additions & 4 deletions mania/src/core/operation/cache_op.rs
Original file line number Diff line number Diff line change
Expand Up @@ -186,7 +186,9 @@ impl BusinessHandle {
});
}
friends.insert(friend.uin, friend.to_owned());
self.cache.insert_uin_uid(friend.uin, friend.uid.clone());
if self.cache.cache_mode == CacheMode::Full {
self.cache.insert_uin_uid(friend.uin, friend.uid.clone());
}
}
Ok(None::<()>)
})
Expand Down Expand Up @@ -260,9 +262,11 @@ impl BusinessHandle {
Ok(None::<()>)
})
.await?;
group_members.iter().for_each(|bgm| {
self.cache.insert_uin_uid(bgm.uin, bgm.uid.clone());
});
if self.cache.cache_mode == CacheMode::Full {
group_members.iter().for_each(|bgm| {
self.cache.insert_uin_uid(bgm.uin, bgm.uid.clone());
});
}
self.cache
.cached_group_members
.as_ref()
Expand Down

0 comments on commit 2577e49

Please sign in to comment.