From b76f8cdebc9cca4bf00c5e47a00eee70d706c11a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Joakim=20Frosteg=C3=A5rd?= Date: Mon, 11 May 2020 16:19:40 +0200 Subject: [PATCH] aquatic_ws: shorten field names in ConnectionMeta, PeerConnection --- aquatic_ws/src/lib/common.rs | 10 ++++------ aquatic_ws/src/lib/handler.rs | 2 +- aquatic_ws/src/lib/network.rs | 20 ++++++++++---------- aquatic_ws/src/lib/protocol/mod.rs | 2 +- 4 files changed, 16 insertions(+), 18 deletions(-) diff --git a/aquatic_ws/src/lib/common.rs b/aquatic_ws/src/lib/common.rs index d5bf2e0..446ab78 100644 --- a/aquatic_ws/src/lib/common.rs +++ b/aquatic_ws/src/lib/common.rs @@ -16,11 +16,9 @@ use crate::protocol::*; pub struct ConnectionMeta { /// Index of socket worker responsible for this connection. Required for /// sending back response through correct channel to correct worker. - pub socket_worker_index: usize, - /// SocketAddr of peer - pub peer_socket_addr: SocketAddr, - /// Slab index of PeerConnection - pub socket_worker_poll_token: Token, + pub worker_index: usize, + pub peer_addr: SocketAddr, + pub poll_token: Token, } @@ -115,6 +113,6 @@ impl OutMessageSender { meta: ConnectionMeta, message: OutMessage ){ - self.0[meta.socket_worker_index].send((meta, message)); + self.0[meta.worker_index].send((meta, message)); } } \ No newline at end of file diff --git a/aquatic_ws/src/lib/handler.rs b/aquatic_ws/src/lib/handler.rs index 220d618..02d271b 100644 --- a/aquatic_ws/src/lib/handler.rs +++ b/aquatic_ws/src/lib/handler.rs @@ -97,7 +97,7 @@ pub fn handle_announce_requests( // Since peers have access to each others peer_id's, they could send // requests using them, causing all sorts of issues. if let Some(previous_peer) = torrent_data.peers.get(&peer_id){ - if sender_meta.peer_socket_addr != previous_peer.connection_meta.peer_socket_addr { + if sender_meta.peer_addr != previous_peer.connection_meta.peer_addr { continue; } } diff --git a/aquatic_ws/src/lib/network.rs b/aquatic_ws/src/lib/network.rs index 29be704..f8a3d23 100644 --- a/aquatic_ws/src/lib/network.rs +++ b/aquatic_ws/src/lib/network.rs @@ -28,7 +28,7 @@ pub enum ConnectionStage { pub struct PeerConnection { pub ws: WebSocket, - pub peer_socket_addr: SocketAddr, + pub peer_addr: SocketAddr, pub valid_until: ValidUntil, } @@ -248,11 +248,11 @@ pub fn handle_handshake_result( Ok(mut ws) => { println!("handshake established"); - let peer_socket_addr = ws.get_mut().peer_addr().unwrap(); + let peer_addr = ws.get_mut().peer_addr().unwrap(); let peer_connection = PeerConnection { ws, - peer_socket_addr, + peer_addr, valid_until, }; @@ -353,9 +353,9 @@ pub fn run_handshake_and_read_messages( dbg!(in_message.clone()); let meta = ConnectionMeta { - socket_worker_index, - socket_worker_poll_token: poll_token, - peer_socket_addr: peer_connection.peer_socket_addr + worker_index: socket_worker_index, + poll_token, + peer_addr: peer_connection.peer_addr }; in_message_sender.send((meta, in_message)); @@ -400,11 +400,11 @@ pub fn send_out_messages( // Read messages from channel, send to peers for (meta, out_message) in out_message_receiver { let opt_connection = connections - .get_mut(&meta.socket_worker_poll_token) + .get_mut(&meta.poll_token) .map(|v| &mut v.stage); if let Some(ConnectionStage::Established(connection)) = opt_connection { - if connection.peer_socket_addr != meta.peer_socket_addr { + if connection.peer_addr != meta.peer_addr { eprintln!("socket worker: peer socket addrs didn't match"); continue; @@ -424,14 +424,14 @@ pub fn send_out_messages( remove_connection_if_exists( poll, connections, - meta.socket_worker_poll_token + meta.poll_token ); }, Err(tungstenite::Error::ConnectionClosed) => { remove_connection_if_exists( poll, connections, - meta.socket_worker_poll_token + meta.poll_token ); }, Err(err) => { diff --git a/aquatic_ws/src/lib/protocol/mod.rs b/aquatic_ws/src/lib/protocol/mod.rs index 7ca46ee..b444a05 100644 --- a/aquatic_ws/src/lib/protocol/mod.rs +++ b/aquatic_ws/src/lib/protocol/mod.rs @@ -96,7 +96,7 @@ pub struct AnnounceRequest { pub peer_id: PeerId, /// Just called "left" in protocol #[serde(rename = "left")] - pub bytes_left: Option, // FIXME: I had this set as bool before, check! + pub bytes_left: Option, /// Can be empty. Then, default is "update" #[serde(default)] pub event: AnnounceEvent,