Commit a8c323d 1 parent 62a010e commit a8c323d Copy full SHA for a8c323d
File tree 1 file changed +15
-10
lines changed
1 file changed +15
-10
lines changed Original file line number Diff line number Diff line change @@ -58,15 +58,20 @@ pub async fn round(
58
58
cache : & State < ByondTopic > ,
59
59
config : & State < Config > ,
60
60
) -> Option < Json < GameResponse > > {
61
- let mut locked = cache. cache_time . lock ( ) . unwrap ( ) ;
62
-
63
- if locked. is_some ( ) {
64
- let cache_time = locked. unwrap ( ) ;
65
- let five_minutes_ago = chrono:: Utc :: now ( ) - Duration :: seconds ( 60 ) ;
66
-
67
- if cache_time > five_minutes_ago {
68
- return Some ( Json ( cache. cached_status . lock ( ) . unwrap ( ) . clone ( ) . unwrap ( ) ) ) ;
69
- }
61
+ {
62
+ match cache. cache_time . lock ( ) {
63
+ Ok ( real) => {
64
+ if real. is_some ( ) {
65
+ let cache_time = real. unwrap ( ) ;
66
+ let five_minutes_ago = chrono:: Utc :: now ( ) - Duration :: seconds ( 60 ) ;
67
+
68
+ if cache_time > five_minutes_ago {
69
+ return Some ( Json ( cache. cached_status . lock ( ) . unwrap ( ) . clone ( ) . unwrap ( ) ) ) ;
70
+ }
71
+ }
72
+ }
73
+ Err ( _) => { }
74
+ } ;
70
75
}
71
76
72
77
let topic_config_option = config. topic . clone ( ) ;
@@ -113,7 +118,7 @@ pub async fn round(
113
118
} ;
114
119
115
120
* cache. cached_status . lock ( ) . unwrap ( ) = Some ( byond_json. clone ( ) ) ;
116
- * locked = Some ( chrono:: Utc :: now ( ) ) ;
121
+ * cache . cache_time . lock ( ) . unwrap ( ) = Some ( chrono:: Utc :: now ( ) ) ;
117
122
118
123
Some ( Json ( byond_json) )
119
124
}
You can’t perform that action at this time.
0 commit comments