futu_cache/
update_check.rs1use parking_lot::RwLock;
2
3use futu_core::update_check::UpdateDecision;
4
5pub struct UpdateCheckCache {
6 last_good: RwLock<Option<UpdateDecision>>,
7}
8
9impl UpdateCheckCache {
10 pub fn new() -> Self {
11 Self {
12 last_good: RwLock::new(None),
13 }
14 }
15
16 #[must_use]
17 pub fn get(&self) -> Option<UpdateDecision> {
18 self.last_good.read().clone()
19 }
20
21 pub fn set(&self, decision: UpdateDecision) {
22 *self.last_good.write() = Some(decision);
23 }
24}
25
26impl Default for UpdateCheckCache {
27 fn default() -> Self {
28 Self::new()
29 }
30}