1 | // Take a look at the license at the top of the repository in the LICENSE file. |
2 | |
3 | use std::collections::HashMap; |
4 | |
5 | use crate::network_helper::get_interface_address; |
6 | use crate::NetworkData; |
7 | |
8 | /// Interface addresses are OS-independent |
9 | pub(crate) fn refresh_networks_addresses(interfaces: &mut HashMap<String, NetworkData>) { |
10 | match get_interface_address() { |
11 | Ok(ifa_iterator: InterfaceAddressIterator) => { |
12 | for (name: String, ifa: MacAddr) in ifa_iterator { |
13 | if let Some(interface: &mut NetworkData) = interfaces.get_mut(&name) { |
14 | interface.mac_addr = ifa; |
15 | } |
16 | } |
17 | } |
18 | Err(_e: String) => { |
19 | sysinfo_debug!("refresh_networks_addresses failed: {:?}" , _e); |
20 | } |
21 | } |
22 | } |
23 | |