open-trade лет назад: 5
Родитель
С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 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()