From 2b7fc15cdce9ae93130612a92068bab82de753da Mon Sep 17 00:00:00 2001 From: Anthony Ramine Date: Fri, 24 Mar 2017 12:06:12 +0100 Subject: [PATCH 1/2] Remove useless dependency on websocket from net_traits --- Cargo.lock | 1 - components/net_traits/Cargo.toml | 1 - components/net_traits/lib.rs | 2 -- 3 files changed, 4 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 766e4eee9dc..5e3948c6332 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -1755,7 +1755,6 @@ dependencies = [ "parse-hosts 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)", "serde 0.9.11 (registry+https://github.com/rust-lang/crates.io-index)", "serde_derive 0.9.11 (registry+https://github.com/rust-lang/crates.io-index)", - "servo-websocket 0.18.0 (registry+https://github.com/rust-lang/crates.io-index)", "servo_config 0.0.1", "servo_url 0.0.1", "url 1.4.0 (registry+https://github.com/rust-lang/crates.io-index)", diff --git a/components/net_traits/Cargo.toml b/components/net_traits/Cargo.toml index cc4c0327667..565b3d81c6c 100644 --- a/components/net_traits/Cargo.toml +++ b/components/net_traits/Cargo.toml @@ -26,7 +26,6 @@ serde = "0.9" serde_derive = "0.9" servo_config = {path = "../config", features = ["servo"]} servo_url = {path = "../url", features = ["servo"]} -servo-websocket = "0.18" url = {version = "1.2", features = ["heap_size"]} uuid = {version = "0.4", features = ["v4", "serde"]} webrender_traits = {git = "https://github.com/servo/webrender", features = ["ipc"]} diff --git a/components/net_traits/lib.rs b/components/net_traits/lib.rs index 768996b6748..f11f2e2a28a 100644 --- a/components/net_traits/lib.rs +++ b/components/net_traits/lib.rs @@ -31,7 +31,6 @@ extern crate servo_url; extern crate url; extern crate uuid; extern crate webrender_traits; -extern crate websocket; use cookie_rs::Cookie; use filemanager_thread::FileManagerThreadMsg; @@ -47,7 +46,6 @@ use request::{Request, RequestInit}; use response::{HttpsState, Response}; use servo_url::ServoUrl; use storage_thread::StorageThreadMsg; -use websocket::header; pub mod blob_url_store; pub mod filemanager_thread; From 28e4252a058af87cc274837b339f3a35712212eb Mon Sep 17 00:00:00 2001 From: Anthony Ramine Date: Fri, 24 Mar 2017 12:06:26 +0100 Subject: [PATCH 2/2] Remove some useless thread spawning in websocket_loader --- components/net/websocket_loader.rs | 41 +++++++++++++----------------- 1 file changed, 18 insertions(+), 23 deletions(-) diff --git a/components/net/websocket_loader.rs b/components/net/websocket_loader.rs index c75b22c4790..34c17798993 100644 --- a/components/net/websocket_loader.rs +++ b/components/net/websocket_loader.rs @@ -161,29 +161,24 @@ pub fn init(connect: WebSocketCommunicate, connect_data: WebSocketConnectData, c } }); - let initiated_close_outgoing = initiated_close.clone(); - let ws_sender_outgoing = ws_sender.clone(); - let resource_action_receiver = connect.action_receiver; - thread::spawn(move || { - while let Ok(dom_action) = resource_action_receiver.recv() { - match dom_action { - WebSocketDomAction::SendMessage(MessageData::Text(data)) => { - ws_sender_outgoing.lock().unwrap().send_message(&Message::text(data)).unwrap(); - }, - WebSocketDomAction::SendMessage(MessageData::Binary(data)) => { - ws_sender_outgoing.lock().unwrap().send_message(&Message::binary(data)).unwrap(); - }, - WebSocketDomAction::Close(code, reason) => { - if !initiated_close_outgoing.fetch_or(true, Ordering::SeqCst) { - let message = match code { - Some(code) => Message::close_because(code, reason.unwrap_or("".to_owned())), - None => Message::close() - }; - ws_sender_outgoing.lock().unwrap().send_message(&message).unwrap(); - } - }, - } + while let Ok(dom_action) = connect.action_receiver.recv() { + match dom_action { + WebSocketDomAction::SendMessage(MessageData::Text(data)) => { + ws_sender.lock().unwrap().send_message(&Message::text(data)).unwrap(); + }, + WebSocketDomAction::SendMessage(MessageData::Binary(data)) => { + ws_sender.lock().unwrap().send_message(&Message::binary(data)).unwrap(); + }, + WebSocketDomAction::Close(code, reason) => { + if !initiated_close.fetch_or(true, Ordering::SeqCst) { + let message = match code { + Some(code) => Message::close_because(code, reason.unwrap_or("".to_owned())), + None => Message::close() + }; + ws_sender.lock().unwrap().send_message(&message).unwrap(); + } + }, } - }); + } }).expect("Thread spawning failed"); }