(&self, addr: u64)
| 129 | } |
| 130 | |
| 131 | fn first_before(&self, addr: u64) -> Option<(BusRange, Arc<dyn BusDeviceSync>)> { |
| 132 | let devices = self.devices.read().unwrap(); |
| 133 | let (range, dev) = devices |
| 134 | .range(..=BusRange { base: addr, len: 1 }) |
| 135 | .next_back()?; |
| 136 | dev.upgrade().map(|d| (*range, d.clone())) |
| 137 | } |
| 138 | |
| 139 | #[allow(clippy::type_complexity)] |
| 140 | fn resolve(&self, addr: u64) -> Option<(u64, u64, Arc<dyn BusDeviceSync>)> { |