open-trade лет назад: 6
Родитель
Сommit
af2ccf86c6
2 измененных файлов с 10 добавлено и 13 удалено
  1. 1 1
      libs/hbb_common
  2. 9 12
      src/rendezvous_server.rs

+ 1 - 1
libs/hbb_common

@@ -1 +1 @@
1
-Subproject commit 4a2f7f1edd9f0e49018ea4989ed8b7c3adffd50b
1
+Subproject commit 7814ff3a395bf063300317f28644b92712d501e4

+ 9 - 12
src/rendezvous_server.rs

@@ -1,6 +1,6 @@
1
 use hbb_common::{
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
 use std::{collections::HashMap, net::SocketAddr};
5
 use std::{collections::HashMap, net::SocketAddr};
6
 
6
 
@@ -16,8 +16,7 @@ pub struct RendezvousServer {
16
 
16
 
17
 impl RendezvousServer {
17
 impl RendezvousServer {
18
     pub async fn start(addr: &str) -> ResultType<()> {
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
         let mut rs = Self {
20
         let mut rs = Self {
22
             peer_map: PeerMap::new(),
21
             peer_map: PeerMap::new(),
23
         };
22
         };
@@ -87,8 +86,8 @@ mod tests {
87
     #[tokio::main]
86
     #[tokio::main]
88
     async fn test_rs_async() {
87
     async fn test_rs_async() {
89
         let mut port_server: u16 = 0;
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
             port_server = addr.port();
91
             port_server = addr.port();
93
         }
92
         }
94
         drop(socket);
93
         drop(socket);
@@ -101,9 +100,8 @@ mod tests {
101
 
100
 
102
     async fn punch_hole(addr_server: SocketAddr) -> ResultType<()> {
101
     async fn punch_hole(addr_server: SocketAddr) -> ResultType<()> {
103
         // B register it to server
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
         let mut msg_out = Message::new();
105
         let mut msg_out = Message::new();
108
         msg_out.set_register_peer(RegisterPeer {
106
         msg_out.set_register_peer(RegisterPeer {
109
             hbb_addr: "123".to_string(),
107
             hbb_addr: "123".to_string(),
@@ -112,9 +110,8 @@ mod tests {
112
         socket_b.send(&msg_out, addr_server).await?;
110
         socket_b.send(&msg_out, addr_server).await?;
113
 
111
 
114
         // A send punch request to server
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
         msg_out.set_punch_hole_request(PunchHoleRequest {
115
         msg_out.set_punch_hole_request(PunchHoleRequest {
119
             hbb_addr: "123".to_string(),
116
             hbb_addr: "123".to_string(),
120
             ..Default::default()
117
             ..Default::default()