diff options
| -rw-r--r-- | mullvad-daemon/src/lib.rs | 10 | ||||
| -rw-r--r-- | mullvad-daemon/src/management_interface.rs | 18 |
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> { |
