This commit is contained in:
open-trade 2021-04-08 14:52:30 +08:00
parent c7bac6b859
commit 34a55668f3

View File

@ -640,6 +640,17 @@ impl RendezvousServer {
},
};
let socket_addr = AddrMangle::encode(addr);
let relay_server = {
if self.relay_servers.is_empty() {
"".to_owned()
} else {
let i = unsafe {
ROTATION_RELAY_SERVER += 1;
ROTATION_RELAY_SERVER % self.relay_servers.len()
};
self.relay_servers[i].clone()
}
};
if same_intranet {
log::debug!(
"Fetch local addr {:?} {:?} request from {:?}",
@ -647,13 +658,9 @@ impl RendezvousServer {
&peer.socket_addr,
&addr
);
let i = unsafe {
ROTATION_RELAY_SERVER += 1;
ROTATION_RELAY_SERVER % self.relay_servers.len()
};
msg_out.set_fetch_local_addr(FetchLocalAddr {
socket_addr,
relay_server: self.relay_servers[i].clone(),
relay_server,
..Default::default()
});
} else {
@ -663,14 +670,10 @@ impl RendezvousServer {
&peer.socket_addr,
&addr
);
let i = unsafe {
ROTATION_RELAY_SERVER += 1;
ROTATION_RELAY_SERVER % self.relay_servers.len()
};
msg_out.set_punch_hole(PunchHole {
socket_addr,
nat_type: ph.nat_type,
relay_server: self.relay_servers[i].clone(),
relay_server,
..Default::default()
});
}