更新地址成功则返回true

This commit is contained in:
lbl8603
2024-06-17 23:43:54 +08:00
parent bf55ec9512
commit 481c00629a
2 changed files with 9 additions and 3 deletions
+5 -1
View File
@@ -99,10 +99,12 @@ impl NatInfo {
nat_type,
}
}
pub fn update_addr(&mut self, index: usize, ip: Ipv4Addr, port: u16) {
pub fn update_addr(&mut self, index: usize, ip: Ipv4Addr, port: u16) -> bool {
let mut updated = false;
if port != 0 {
if let Some(public_port) = self.public_ports.get_mut(index) {
if *public_port != port {
updated = true;
log::info!("端口变化={}:{} index={}", ip, port, index)
}
*public_port = port;
@@ -116,9 +118,11 @@ impl NatInfo {
{
if !self.public_ips.contains(&ip) {
self.public_ips.push(ip);
updated = true;
log::info!("ip变化={},{:?}", ip, self.public_ips)
}
}
updated
}
pub fn local_ipv4(&self) -> Option<Ipv4Addr> {
self.local_ipv4
+4 -2
View File
@@ -185,7 +185,7 @@ impl NatTest {
}
false
}
pub fn update_addr(&self, index: usize, ip: Ipv4Addr, port: u16) {
pub fn update_addr(&self, index: usize, ip: Ipv4Addr, port: u16) -> bool {
let mut guard = self.info.lock();
guard.update_addr(index, ip, port)
}
@@ -273,7 +273,9 @@ impl NatTest {
&& !ip.is_loopback()
&& !ip.is_private()
{
self.update_addr(index, *addr.ip(), addr.port());
if self.update_addr(index, *addr.ip(), addr.port()) {
log::info!("回应地址{:?},来源stun {:?}", addr, source_addr)
}
}
}
}