From 656b0da3c63823ce0794377da88075fabe2c5e89 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Joakim=20Frosteg=C3=A5rd?= Date: Mon, 11 May 2020 14:29:27 +0200 Subject: [PATCH] aquatic_ws: use fn handle_handshake_result in one more location --- aquatic_ws/src/lib/network.rs | 43 ++++++++--------------------------- 1 file changed, 10 insertions(+), 33 deletions(-) diff --git a/aquatic_ws/src/lib/network.rs b/aquatic_ws/src/lib/network.rs index 249c3b7..e49d326 100644 --- a/aquatic_ws/src/lib/network.rs +++ b/aquatic_ws/src/lib/network.rs @@ -307,42 +307,19 @@ pub fn read_and_forward_in_messages( break; } }, - ConnectionStage::MidHandshake(mut handshake) => { - let stream = handshake.get_mut().get_mut(); - let peer_socket_addr = stream.peer_addr().unwrap(); + ConnectionStage::MidHandshake(handshake) => { + let stop_loop = handle_handshake_result( + connections, + poll_token, + valid_until, + handshake.handshake() + ); - match handshake.handshake(){ - Ok(ws) => { - println!("handshake established"); - let peer_connection = PeerConnection { - ws, - peer_socket_addr, - valid_until, - }; - - let connection = Connection { - valid_until: Some(valid_until), - stage: ConnectionStage::Established(peer_connection) - }; - - connections.insert(poll_token, connection); - }, - Err(HandshakeError::Interrupted(handshake)) => { - let connection = Connection { - valid_until: Some(valid_until), - stage: ConnectionStage::MidHandshake(handshake), - }; - - connections.insert(poll_token, connection); - - break; - }, - Err(HandshakeError::Failure(err)) => { - dbg!(err); - }, + if stop_loop { + break; } }, - _ => unreachable!(), + ConnectionStage::Established(_) => unreachable!(), } } else if let Some(Connection{ stage: ConnectionStage::Established(peer_connection),