(&mut self, now: tokio::time::Instant)
| 207 | } |
| 208 | |
| 209 | fn handle_tick(&mut self, now: tokio::time::Instant) { |
| 210 | if let Some(parameters) = &self.clock_parameters { |
| 211 | self.clock_adjuster.handle_clock_parameters(now, parameters); |
| 212 | |
| 213 | // Handle SHM1 (`ClockErrorboundV3`) first |
| 214 | let clockbound_clock = ClockBound::new(parameters.clone(), ReadTscImpl); |
| 215 | // Get the age of the `ClockParameters`, to determine if we're Synchronized or FreeRunning. |
| 216 | // Inherently, we can't be `Unknown` or `Disrupted` anymore if we've gotten any `ClockParameters`. |
| 217 | let clock_params_age_v3 = clockbound_clock.get_time() - parameters.time; |
| 218 | let clock_status_v3 = |
| 219 | ClockState::determine_clock_error_bound_v3_status(clock_params_age_v3); |
| 220 | |
| 221 | self.state_writer |
| 222 | .handle_clock_parameters_shm1(parameters, clock_status_v3); |
| 223 | |
| 224 | // Handle SHM0 (`ClockErrorboundV2`) after SHM1. |
| 225 | let clock_status_v2 = self.determine_clock_error_bound_v2_status(parameters); |
| 226 | self.state_writer |
| 227 | .handle_clock_parameters_shm0(parameters, clock_status_v2); |
| 228 | } |
| 229 | } |
| 230 | |
| 231 | /// Handles `ClockParameters` passed out from the `ClockSyncAlgorithm` selector. |
| 232 | /// |
no test coverage detected