summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorLinus Färnstrand <linus@mullvad.net>2018-11-16 10:34:44 +0100
committerLinus Färnstrand <linus@mullvad.net>2018-11-16 10:34:44 +0100
commit62514459eaec687b5500f04d3444d55c0d191c7f (patch)
tree3970500eee1baaa331d63296ba935fed97ef1e1f
parent74188a87413f4d99c48e05b808a1483d11c28bbd (diff)
parent56a9f3966b9cbe55ddf19ee487aa6a29465926ed (diff)
downloadmullvadvpn-62514459eaec687b5500f04d3444d55c0d191c7f.tar.xz
mullvadvpn-62514459eaec687b5500f04d3444d55c0d191c7f.zip
Merge branch 'fix-warnings'
-rw-r--r--talpid-core/src/offline/dummy.rs6
-rw-r--r--talpid-core/src/offline/macos.rs6
-rw-r--r--talpid-core/src/offline/mod.rs11
-rw-r--r--talpid-core/src/offline/windows.rs4
-rw-r--r--talpid-ipc/tests/ipc-client-server.rs7
5 files changed, 24 insertions, 10 deletions
diff --git a/talpid-core/src/offline/dummy.rs b/talpid-core/src/offline/dummy.rs
index c654b846b8..7312f4780c 100644
--- a/talpid-core/src/offline/dummy.rs
+++ b/talpid-core/src/offline/dummy.rs
@@ -3,8 +3,10 @@ use tunnel_state_machine::TunnelCommand;
error_chain!{}
-pub fn spawn_monitor(_sender: UnboundedSender<TunnelCommand>) -> Result<()> {
- Ok(())
+pub struct MonitorHandle;
+
+pub fn spawn_monitor(_sender: UnboundedSender<TunnelCommand>) -> Result<MonitorHandle> {
+ Ok(MonitorHandle)
}
pub fn is_offline() -> bool {
diff --git a/talpid-core/src/offline/macos.rs b/talpid-core/src/offline/macos.rs
index 12362eb16d..e55fa376d3 100644
--- a/talpid-core/src/offline/macos.rs
+++ b/talpid-core/src/offline/macos.rs
@@ -21,7 +21,9 @@ error_chain! {
}
}
-pub fn spawn_monitor(sender: UnboundedSender<TunnelCommand>) -> Result<()> {
+pub struct MonitorHandle;
+
+pub fn spawn_monitor(sender: UnboundedSender<TunnelCommand>) -> Result<MonitorHandle> {
let (result_tx, result_rx) = mpsc::channel();
thread::spawn(move || match create_dynamic_store(sender) {
Ok(store) => {
@@ -31,7 +33,7 @@ pub fn spawn_monitor(sender: UnboundedSender<TunnelCommand>) -> Result<()> {
}
Err(e) => result_tx.send(Err(e)).unwrap(),
});
- result_rx.recv().unwrap()
+ result_rx.recv().unwrap().map(|_| MonitorHandle)
}
pub fn is_offline() -> bool {
diff --git a/talpid-core/src/offline/mod.rs b/talpid-core/src/offline/mod.rs
index 6cbbf04e9e..38ebc3fb1e 100644
--- a/talpid-core/src/offline/mod.rs
+++ b/talpid-core/src/offline/mod.rs
@@ -1,3 +1,6 @@
+use futures::sync::mpsc::UnboundedSender;
+use tunnel_state_machine::TunnelCommand;
+
#[cfg(target_os = "macos")]
#[path = "macos.rs"]
mod imp;
@@ -10,4 +13,10 @@ mod imp;
#[path = "dummy.rs"]
mod imp;
-pub use self::imp::{is_offline, spawn_monitor};
+pub use self::imp::is_offline;
+
+pub struct MonitorHandle(imp::MonitorHandle);
+
+pub fn spawn_monitor(sender: UnboundedSender<TunnelCommand>) -> Result<MonitorHandle, imp::Error> {
+ Ok(MonitorHandle(imp::spawn_monitor(sender)?))
+}
diff --git a/talpid-core/src/offline/windows.rs b/talpid-core/src/offline/windows.rs
index 1258f1ba11..88607cd47b 100644
--- a/talpid-core/src/offline/windows.rs
+++ b/talpid-core/src/offline/windows.rs
@@ -162,7 +162,9 @@ impl Drop for BroadcastListener {
}
}
-pub fn spawn_monitor(sender: UnboundedSender<TunnelCommand>) -> Result<BroadcastListener> {
+pub type MonitorHandle = BroadcastListener;
+
+pub fn spawn_monitor(sender: UnboundedSender<TunnelCommand>) -> Result<MonitorHandle> {
let listener =
BroadcastListener::start(move |message: UINT, wparam: WPARAM, _lparam: LPARAM| {
if message == WM_POWERBROADCAST {
diff --git a/talpid-ipc/tests/ipc-client-server.rs b/talpid-ipc/tests/ipc-client-server.rs
index 9d2aebd19f..254671962c 100644
--- a/talpid-ipc/tests/ipc-client-server.rs
+++ b/talpid-ipc/tests/ipc-client-server.rs
@@ -1,3 +1,6 @@
+// TODO fix these tests on Windows
+#![cfg(not(windows))]
+
extern crate assert_matches;
extern crate env_logger;
extern crate jsonrpc_client_core;
@@ -38,8 +41,6 @@ impl TestApi for ApiImpl {
}
}
-// TODO fix this test on Windows
-#[cfg(not(windows))]
#[test]
fn can_call_rpcs_on_server() {
env_logger::init();
@@ -56,8 +57,6 @@ fn can_call_rpcs_on_server() {
server.close_handle().close();
}
-// TODO fix this test on Windows
-#[cfg(not(windows))]
#[test]
#[should_panic]
fn ipc_client_invalid_url() {