summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
-rw-r--r--mullvad-daemon/src/lib.rs10
-rw-r--r--mullvad-daemon/src/management_interface.rs18
2 files changed, 12 insertions, 16 deletions
diff --git a/mullvad-daemon/src/lib.rs b/mullvad-daemon/src/lib.rs
index 557f281347..45ef3b90d2 100644
--- a/mullvad-daemon/src/lib.rs
+++ b/mullvad-daemon/src/lib.rs
@@ -387,18 +387,18 @@ impl Daemon<ManagementInterfaceEventBroadcaster> {
fn start_management_interface(
event_tx: UnboundedSender<InternalDaemonEvent>,
) -> Result<ManagementInterfaceEventBroadcaster, Error> {
- let multiplex_event_tx = IntoSender::from(event_tx.clone());
- let server = Self::start_management_interface_server(multiplex_event_tx)?;
+ let command_sender = DaemonCommandSender::new(event_tx.clone());
+ let server = Self::start_management_interface_server(command_sender)?;
let event_broadcaster = server.event_broadcaster();
Self::spawn_management_interface_wait_thread(server, event_tx);
Ok(event_broadcaster)
}
fn start_management_interface_server(
- event_tx: IntoSender<DaemonCommand, InternalDaemonEvent>,
+ command_sender: DaemonCommandSender,
) -> Result<ManagementInterfaceServer, Error> {
- let server =
- ManagementInterfaceServer::start(event_tx).map_err(Error::StartManagementInterface)?;
+ let server = ManagementInterfaceServer::start(command_sender)
+ .map_err(Error::StartManagementInterface)?;
info!("Management interface listening on {}", server.socket_path());
Ok(server)
diff --git a/mullvad-daemon/src/management_interface.rs b/mullvad-daemon/src/management_interface.rs
index db403b8960..8da3d4dabf 100644
--- a/mullvad-daemon/src/management_interface.rs
+++ b/mullvad-daemon/src/management_interface.rs
@@ -1,4 +1,4 @@
-use crate::{BoxFuture, DaemonCommand, EventListener};
+use crate::{BoxFuture, DaemonCommand, DaemonCommandSender, EventListener};
use jsonrpc_core::{
futures::{future, sync, Future},
Error, ErrorCode, MetaIoHandler, Metadata,
@@ -22,7 +22,6 @@ use std::{
collections::{hash_map::Entry, HashMap},
sync::Arc,
};
-use talpid_core::mpsc::IntoSender;
use talpid_ipc;
use talpid_types::ErrorExt;
use uuid;
@@ -187,10 +186,7 @@ pub struct ManagementInterfaceServer {
}
impl ManagementInterfaceServer {
- pub fn start<T>(tunnel_tx: IntoSender<DaemonCommand, T>) -> Result<Self, talpid_ipc::Error>
- where
- T: From<DaemonCommand> + 'static + Send,
- {
+ pub fn start(tunnel_tx: DaemonCommandSender) -> Result<Self, talpid_ipc::Error> {
let rpc = ManagementInterface::new(tunnel_tx);
let subscriptions = rpc.subscriptions.clone();
@@ -280,13 +276,13 @@ impl Drop for ManagementInterfaceEventBroadcaster {
}
}
-struct ManagementInterface<T: From<DaemonCommand> + 'static + Send> {
+struct ManagementInterface {
subscriptions: Arc<RwLock<HashMap<SubscriptionId, pubsub::Sink<DaemonEvent>>>>,
- tx: IntoSender<DaemonCommand, T>,
+ tx: DaemonCommandSender,
}
-impl<T: From<DaemonCommand> + 'static + Send> ManagementInterface<T> {
- pub fn new(tx: IntoSender<DaemonCommand, T>) -> Self {
+impl ManagementInterface {
+ pub fn new(tx: DaemonCommandSender) -> Self {
ManagementInterface {
subscriptions: Default::default(),
tx,
@@ -320,7 +316,7 @@ impl<T: From<DaemonCommand> + 'static + Send> ManagementInterface<T> {
}
}
-impl<T: From<DaemonCommand> + 'static + Send> ManagementInterfaceApi for ManagementInterface<T> {
+impl ManagementInterfaceApi for ManagementInterface {
type Metadata = Meta;
fn create_new_account(&self, _: Self::Metadata) -> BoxFuture<String, Error> {