(&self)
| 204 | } |
| 205 | |
| 206 | fn reset(&self) { |
| 207 | let current_nanos = SystemTime::now() |
| 208 | .duration_since(UNIX_EPOCH) |
| 209 | .unwrap_or_default() |
| 210 | .as_nanos() as u64; |
| 211 | |
| 212 | self.requests.store(0, Ordering::Release); |
| 213 | self.window_start_nanos.store(current_nanos, Ordering::Release); |
| 214 | } |
| 215 | } |
| 216 | |
| 217 | /// Atomic circuit breaker state tracking |