|
|
@@ -1,6 +1,6 @@
|
|
1
|
1
|
use hbb_common::{
|
|
2
|
|
- bytes::BytesMut, log, message_proto::*, protobuf::parse_from_bytes, tokio::net::UdpSocket,
|
|
3
|
|
- udp::FramedSocket, AddrMangle, ResultType,
|
|
|
2
|
+ bytes::BytesMut, log, message_proto::*, protobuf::parse_from_bytes, udp::FramedSocket,
|
|
|
3
|
+ AddrMangle, ResultType,
|
|
4
|
4
|
};
|
|
5
|
5
|
use std::{collections::HashMap, net::SocketAddr};
|
|
6
|
6
|
|
|
|
@@ -16,8 +16,7 @@ pub struct RendezvousServer {
|
|
16
|
16
|
|
|
17
|
17
|
impl RendezvousServer {
|
|
18
|
18
|
pub async fn start(addr: &str) -> ResultType<()> {
|
|
19
|
|
- let socket = UdpSocket::bind(addr).await?;
|
|
20
|
|
- let mut socket = FramedSocket::new(socket);
|
|
|
19
|
+ let mut socket = FramedSocket::new(addr).await?;
|
|
21
|
20
|
let mut rs = Self {
|
|
22
|
21
|
peer_map: PeerMap::new(),
|
|
23
|
22
|
};
|
|
|
@@ -87,8 +86,8 @@ mod tests {
|
|
87
|
86
|
#[tokio::main]
|
|
88
|
87
|
async fn test_rs_async() {
|
|
89
|
88
|
let mut port_server: u16 = 0;
|
|
90
|
|
- let socket = UdpSocket::bind("127.0.0.1:0").await.unwrap();
|
|
91
|
|
- if let SocketAddr::V4(addr) = socket.local_addr().unwrap() {
|
|
|
89
|
+ let socket = FramedSocket::new("127.0.0.1:0").await.unwrap();
|
|
|
90
|
+ if let SocketAddr::V4(addr) = socket.get_ref().local_addr().unwrap() {
|
|
92
|
91
|
port_server = addr.port();
|
|
93
|
92
|
}
|
|
94
|
93
|
drop(socket);
|
|
|
@@ -101,9 +100,8 @@ mod tests {
|
|
101
|
100
|
|
|
102
|
101
|
async fn punch_hole(addr_server: SocketAddr) -> ResultType<()> {
|
|
103
|
102
|
// B register it to server
|
|
104
|
|
- let socket_b = UdpSocket::bind("127.0.0.1:0").await?;
|
|
105
|
|
- let local_addr_b = socket_b.local_addr().unwrap();
|
|
106
|
|
- let mut socket_b = FramedSocket::new(socket_b);
|
|
|
103
|
+ let mut socket_b = FramedSocket::new("127.0.0.1:0").await?;
|
|
|
104
|
+ let local_addr_b = socket_b.get_ref().local_addr().unwrap();
|
|
107
|
105
|
let mut msg_out = Message::new();
|
|
108
|
106
|
msg_out.set_register_peer(RegisterPeer {
|
|
109
|
107
|
hbb_addr: "123".to_string(),
|
|
|
@@ -112,9 +110,8 @@ mod tests {
|
|
112
|
110
|
socket_b.send(&msg_out, addr_server).await?;
|
|
113
|
111
|
|
|
114
|
112
|
// A send punch request to server
|
|
115
|
|
- let socket_a = UdpSocket::bind("127.0.0.1:0").await?;
|
|
116
|
|
- let local_addr_a = socket_a.local_addr().unwrap();
|
|
117
|
|
- let mut socket_a = FramedSocket::new(socket_a);
|
|
|
113
|
+ let mut socket_a = FramedSocket::new("127.0.0.1:0").await?;
|
|
|
114
|
+ let local_addr_a = socket_a.get_ref().local_addr().unwrap();
|
|
118
|
115
|
msg_out.set_punch_hole_request(PunchHoleRequest {
|
|
119
|
116
|
hbb_addr: "123".to_string(),
|
|
120
|
117
|
..Default::default()
|