Skip to main content

futu_cache/
update_check.rs

1use 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}