configure_update in testnatresponse

This commit is contained in:
open-trade 2020-10-31 11:25:53 +08:00
parent 1acec93fdb
commit 75dcbe47b7
4 changed files with 14 additions and 7 deletions

View File

@ -1,3 +1,3 @@
fn main() {
hbb_common::gen_version();
hbb_common::gen_version();
}

@ -1 +1 @@
Subproject commit be1f253e874c6df065c1d9ce22a5ab9e4ebd498a
Subproject commit 3f862eaa423823b6a4c9a62e6b36f3b692cfd06f

View File

@ -1,6 +1,6 @@
mod rendezvous_server;
mod sled_async;
use sled_async::*;
pub use rendezvous_server::*;
use sled_async::*;
mod version;
pub use version::*;

View File

@ -7,7 +7,7 @@ use hbb_common::{
stream::{SplitSink, StreamExt},
},
log,
protobuf::Message as _,
protobuf::{Message as _, MessageField},
rendezvous_proto::*,
tcp::{new_listener, FramedStream},
timeout,
@ -236,12 +236,19 @@ impl RendezvousServer {
allow_err!(rs.handle_local_addr(la, addr, None).await);
break;
}
Some(rendezvous_message::Union::test_nat_request(_)) => {
Some(rendezvous_message::Union::test_nat_request(tar)) => {
let mut msg_out = RendezvousMessage::new();
msg_out.set_test_nat_response(TestNatResponse {
let mut res = TestNatResponse {
port: addr.port() as _,
..Default::default()
});
}
if rs.serial > tar.serial {
let mut cu = ConfigUpdate::new();
cu.serial = rs.serial;
cu.rendezvous_servers = rs.rendezvous_servers.clone();
res.cu = MessageField::from_option(Some(cu));
}
msg_out.set_test_nat_response(res);
if let Some(tcp) = sender.as_mut() {
if let Ok(bytes) = msg_out.write_to_bytes() {
allow_err!(tcp.send(Bytes::from(bytes)).await);