mirror of
https://mirror.suhoan.cn/https://github.com/EasyTier/EasyTier.git
synced 2025-12-15 14:17:24 +08:00
update last_updated of peer info to local now (#211)
time between peers may not be synced, using peer last_updated time may cause peer info being cleared incorrectly
This commit is contained in:
11
Cargo.lock
generated
11
Cargo.lock
generated
@@ -1426,6 +1426,7 @@ dependencies = [
|
|||||||
"url",
|
"url",
|
||||||
"uuid",
|
"uuid",
|
||||||
"windows-sys 0.52.0",
|
"windows-sys 0.52.0",
|
||||||
|
"winreg 0.11.0",
|
||||||
"zerocopy",
|
"zerocopy",
|
||||||
"zip",
|
"zip",
|
||||||
]
|
]
|
||||||
@@ -7175,6 +7176,16 @@ dependencies = [
|
|||||||
"winapi",
|
"winapi",
|
||||||
]
|
]
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "winreg"
|
||||||
|
version = "0.11.0"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "76a1a57ff50e9b408431e8f97d5456f2807f8eb2a2cd79b06068fc87f8ecf189"
|
||||||
|
dependencies = [
|
||||||
|
"cfg-if",
|
||||||
|
"winapi",
|
||||||
|
]
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "winreg"
|
name = "winreg"
|
||||||
version = "0.50.0"
|
version = "0.50.0"
|
||||||
|
|||||||
@@ -291,7 +291,11 @@ impl SyncedRouteInfo {
|
|||||||
peer_infos: &Vec<RoutePeerInfo>,
|
peer_infos: &Vec<RoutePeerInfo>,
|
||||||
) -> Result<(), Error> {
|
) -> Result<(), Error> {
|
||||||
self.check_duplicate_peer_id(my_peer_id, dst_peer_id, peer_infos)?;
|
self.check_duplicate_peer_id(my_peer_id, dst_peer_id, peer_infos)?;
|
||||||
for route_info in peer_infos.iter() {
|
for mut route_info in peer_infos.iter().map(Clone::clone) {
|
||||||
|
// time between peers may not be synchronized, so update last_update to local now.
|
||||||
|
// note only last_update with larger version will be updated to local saved peer info.
|
||||||
|
route_info.last_update = SystemTime::now();
|
||||||
|
|
||||||
self.peer_infos
|
self.peer_infos
|
||||||
.entry(route_info.peer_id)
|
.entry(route_info.peer_id)
|
||||||
.and_modify(|old_entry| {
|
.and_modify(|old_entry| {
|
||||||
|
|||||||
Reference in New Issue
Block a user