diff options
| author | Janito Vaqueiro Ferreira Filho <janito@mullvad.net> | 2019-12-07 13:06:08 +0000 |
|---|---|---|
| committer | Janito Vaqueiro Ferreira Filho <janito@mullvad.net> | 2019-12-09 18:42:32 +0000 |
| commit | 8a7f0acc9d313bdbff914e463f9cb9d36b5625d0 (patch) | |
| tree | c382a88deac08d0ddf7e4b2a9316d10818f7e64c | |
| parent | f7082c45e654188f39cf144fdeee60af1358d762 (diff) | |
| download | mullvadvpn-8a7f0acc9d313bdbff914e463f9cb9d36b5625d0.tar.xz mullvadvpn-8a7f0acc9d313bdbff914e463f9cb9d36b5625d0.zip | |
Always have a command sender in `DaemonInterface`
| -rw-r--r-- | Cargo.lock | 1 | ||||
| -rw-r--r-- | mullvad-jni/Cargo.toml | 1 | ||||
| -rw-r--r-- | mullvad-jni/src/daemon_interface.rs | 20 | ||||
| -rw-r--r-- | mullvad-jni/src/lib.rs | 4 |
4 files changed, 5 insertions, 21 deletions
diff --git a/Cargo.lock b/Cargo.lock index 60c648291d..88239a7b44 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -1325,7 +1325,6 @@ dependencies = [ "mullvad-paths 0.1.0", "mullvad-problem-report 2019.10.0-beta2", "mullvad-types 0.1.0", - "parking_lot 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)", "talpid-core 0.1.0", "talpid-types 0.1.0", ] diff --git a/mullvad-jni/Cargo.toml b/mullvad-jni/Cargo.toml index 138a1be50e..547da3ffd5 100644 --- a/mullvad-jni/Cargo.toml +++ b/mullvad-jni/Cargo.toml @@ -19,7 +19,6 @@ jsonrpc-core = "8" lazy_static = "1" log = "0.4" log-panics = "2" -parking_lot = "0.9" mullvad-daemon = { path = "../mullvad-daemon" } mullvad-paths = { path = "../mullvad-paths" } diff --git a/mullvad-jni/src/daemon_interface.rs b/mullvad-jni/src/daemon_interface.rs index 2b37a16d21..fdd03435bf 100644 --- a/mullvad-jni/src/daemon_interface.rs +++ b/mullvad-jni/src/daemon_interface.rs @@ -10,7 +10,6 @@ use mullvad_types::{ version::AppVersionInfo, wireguard::{self, KeygenEvent}, }; -use parking_lot::Mutex; #[derive(Debug, err_derive::Error)] pub enum Error { @@ -30,20 +29,12 @@ pub enum Error { type Result<T> = std::result::Result<T, Error>; pub struct DaemonInterface { - command_sender: Mutex<Option<DaemonCommandSender>>, + command_sender: DaemonCommandSender, } impl DaemonInterface { - pub fn new() -> Self { - DaemonInterface { - command_sender: Mutex::new(None), - } - } - - pub fn set_command_sender(&self, sender: DaemonCommandSender) { - let mut command_sender = self.command_sender.lock(); - - *command_sender = Some(sender); + pub fn new(command_sender: DaemonCommandSender) -> Self { + DaemonInterface { command_sender } } pub fn connect(&self) -> Result<()> { @@ -190,9 +181,6 @@ impl DaemonInterface { } fn send_command(&self, command: ManagementCommand) -> Result<()> { - let locked_sender = self.command_sender.lock(); - let sender = locked_sender.as_ref().ok_or(Error::NoSender)?; - - sender.send(command).map_err(Error::NoDaemon) + self.command_sender.send(command).map_err(Error::NoDaemon) } } diff --git a/mullvad-jni/src/lib.rs b/mullvad-jni/src/lib.rs index 1d5ed9de2a..ec80ca745b 100644 --- a/mullvad-jni/src/lib.rs +++ b/mullvad-jni/src/lib.rs @@ -134,9 +134,7 @@ fn initialize( ) -> Result<(), Error> { let android_context = create_android_context(env, *vpn_service)?; let daemon_command_sender = spawn_daemon(env, this, log_dir, android_context)?; - let daemon_interface = Box::new(DaemonInterface::new()); - - daemon_interface.set_command_sender(daemon_command_sender); + let daemon_interface = Box::new(DaemonInterface::new(daemon_command_sender)); set_daemon_interface_address(env, this, Box::into_raw(daemon_interface) as jlong); |
