diff options
| author | Markus Pettersson <markus.pettersson@mullvad.net> | 2023-11-16 15:05:25 +0100 |
|---|---|---|
| committer | Markus Pettersson <markus.pettersson@mullvad.net> | 2023-12-04 09:06:45 +0100 |
| commit | 9358da4abff1855b6ffacee9b9bdbe7f89349198 (patch) | |
| tree | 26299f12dd8a4566a5ef11d29750333cc7706b49 | |
| parent | 4b7ed46ae1945a03bd080e12e8c9ab376dd1cf07 (diff) | |
| download | mullvadvpn-9358da4abff1855b6ffacee9b9bdbe7f89349198.tar.xz mullvadvpn-9358da4abff1855b6ffacee9b9bdbe7f89349198.zip | |
Refactor `access_methods.rs`
- Naming of structs/enums/variables
- Add documentation
- Change existing doc comment to better reflect their context / any new naming
| -rw-r--r-- | mullvad-daemon/src/access_method.rs | 11 | ||||
| -rw-r--r-- | mullvad-daemon/src/api.rs | 18 | ||||
| -rw-r--r-- | mullvad-daemon/src/lib.rs | 9 |
3 files changed, 20 insertions, 18 deletions
diff --git a/mullvad-daemon/src/access_method.rs b/mullvad-daemon/src/access_method.rs index 51a0f0ae4a..b0dd0506c3 100644 --- a/mullvad-daemon/src/access_method.rs +++ b/mullvad-daemon/src/access_method.rs @@ -19,16 +19,13 @@ pub enum Error { /// Can not find access method #[error(display = "Cannot find custom access method {}", _0)] NoSuchMethod(access_method::Id), - /// Can not find *any* access method. This should never happen. If it does, - /// the user should do a factory reset. - #[error(display = "No access methods are configured")] - NoMethodsExist, /// Access method could not be rotate #[error(display = "Access method could not be rotated")] RotationError, - /// Daemon API error - #[error(display = "Daemon API handling error")] - Api(#[error(source)] api::Error), + /// Some error occured in the daemon's state of handling + /// [`AccessMethodSetting`]s & [`ApiConnectionMode`]s. + #[error(display = "Error occured when handling connection settings & details")] + ConnectionMode(#[error(source)] api::Error), /// Access methods settings error #[error(display = "Settings error")] Settings(#[error(source)] settings::Error), diff --git a/mullvad-daemon/src/api.rs b/mullvad-daemon/src/api.rs index d309854473..47a9969a76 100644 --- a/mullvad-daemon/src/api.rs +++ b/mullvad-daemon/src/api.rs @@ -1,3 +1,8 @@ +//! This module is responsible for enabling custom [`AccessMethodSetting`]s to +//! be used when connecting to the Mullvad API. In practice this means +//! converting [`AccessMethodSetting`]s to connection details as encoded by +//! [`ApiConnectionMode`], which in turn is used by `mullvad-api` for +//! establishing connections when performing API requests. #[cfg(target_os = "android")] use crate::{DaemonCommand, DaemonEventSender}; use futures::{ @@ -21,9 +26,6 @@ use talpid_core::mpsc::Sender; use talpid_core::tunnel_state_machine::TunnelCommand; use talpid_types::net::{openvpn::ProxySettings, AllowedEndpoint, Endpoint}; -// TODO(markus): Remove text -/// Here, a new agent was born. - pub enum Message { Get(ResponseTx<AccessMethodSetting>), Set(ResponseTx<()>, AccessMethodSetting), @@ -39,11 +41,11 @@ pub enum Error { } #[derive(Clone)] -pub struct Ehandle { +pub struct AccessModeSelectorHandle { cmd_tx: mpsc::UnboundedSender<Message>, } -impl Ehandle { +impl AccessModeSelectorHandle { pub fn new( cache_dir: PathBuf, relay_selector: RelaySelector, @@ -51,7 +53,7 @@ impl Ehandle { ) -> Self { let (cmd_tx, cmd_rx) = mpsc::unbounded(); - let mut actor = EActor { + let mut actor = AccessModeSelector { cmd_rx, state: ApiConnectionModeProvider::new(cache_dir, relay_selector, connection_modes), }; @@ -112,12 +114,12 @@ impl Ehandle { } } -pub struct EActor { +pub struct AccessModeSelector { cmd_rx: mpsc::UnboundedReceiver<Message>, state: ApiConnectionModeProvider, } -impl EActor { +impl AccessModeSelector { async fn run(&mut self) { while let Some(cmd) = self.cmd_rx.next().await { let _ = match cmd { diff --git a/mullvad-daemon/src/lib.rs b/mullvad-daemon/src/lib.rs index 6299597858..ee3e75d7d6 100644 --- a/mullvad-daemon/src/lib.rs +++ b/mullvad-daemon/src/lib.rs @@ -605,7 +605,7 @@ pub struct Daemon<L: EventListener> { account_history: account_history::AccountHistory, device_checker: device::TunnelStateChangeHandler, account_manager: device::AccountManagerHandle, - connection_modes_handler: api::Ehandle, + connection_modes_handler: api::AccessModeSelectorHandle, api_runtime: mullvad_api::Runtime, api_handle: mullvad_api::rest::MullvadRestHandle, version_updater_handle: version_check::VersionUpdaterHandle, @@ -712,8 +712,11 @@ where } }; - let connection_modes_handler = - api::Ehandle::new(cache_dir.clone(), relay_selector.clone(), connection_modes); + let connection_modes_handler = api::AccessModeSelectorHandle::new( + cache_dir.clone(), + relay_selector.clone(), + connection_modes, + ); let api_handle = api_runtime .mullvad_rest_handle( |
