summaryrefslogtreecommitdiffhomepage
path: root/mullvad-daemon/src/lib.rs
diff options
context:
space:
mode:
authorMarkus Pettersson <markus.pettersson@mullvad.net>2023-11-16 15:17:11 +0100
committerMarkus Pettersson <markus.pettersson@mullvad.net>2023-12-04 09:06:48 +0100
commite31d9e01fa4e4635c4ddead14b18fa7e8381e3f6 (patch)
tree354f6c42b13bcbe5e28181936e3a3de6aab7c026 /mullvad-daemon/src/lib.rs
parent9358da4abff1855b6ffacee9b9bdbe7f89349198 (diff)
downloadmullvadvpn-e31d9e01fa4e4635c4ddead14b18fa7e8381e3f6.tar.xz
mullvadvpn-e31d9e01fa4e4635c4ddead14b18fa7e8381e3f6.zip
Construct `AccessModeSelectorHandle` by calling `AccessModeSelector::spawn`
Construct an `AccessModeSelectorHandle` by calling `AccessModeSelector::spawn`, which is consistent with how actors are spawned in other parts of the `mullvad-daemon`.
Diffstat (limited to 'mullvad-daemon/src/lib.rs')
-rw-r--r--mullvad-daemon/src/lib.rs31
1 files changed, 2 insertions, 29 deletions
diff --git a/mullvad-daemon/src/lib.rs b/mullvad-daemon/src/lib.rs
index ee3e75d7d6..90dbd1f4f4 100644
--- a/mullvad-daemon/src/lib.rs
+++ b/mullvad-daemon/src/lib.rs
@@ -683,36 +683,9 @@ where
.set_config(new_selector_config(settings));
});
- let connection_modes: Vec<_> = settings
- .api_access_methods
- .access_method_settings
- .iter()
- // We only care about the access methods which are set to 'enabled' by the user.
- .filter(|api_access_method| api_access_method.enabled())
- .cloned()
- .collect();
- let proxy_provider = match api::ApiConnectionModeProvider::new(
- cache_dir.clone(),
- relay_selector.clone(),
- connection_modes,
- ) {
- Ok(provider) => provider,
- Err(api::Error::NoAccessMethods) => {
- // No settings seem to have been found. Default to using the the
- // direct access method.
- let default = mullvad_types::access_method::Settings::direct();
- api::ApiConnectionModeProvider::new(
- cache_dir.clone(),
- relay_selector.clone(),
- vec![default],
- )
- .expect(
- "Failed to create the data structure responsible for managing access methods",
- )
- }
- };
+ let connection_modes = settings.api_access_methods.collect_enabled();
- let connection_modes_handler = api::AccessModeSelectorHandle::new(
+ let connection_modes_handler = api::AccessModeSelector::spawn(
cache_dir.clone(),
relay_selector.clone(),
connection_modes,