summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorMarkus Pettersson <markus.pettersson@mullvad.net>2023-11-16 16:38:45 +0100
committerMarkus Pettersson <markus.pettersson@mullvad.net>2023-12-04 09:06:53 +0100
commitaee1d38a61676a41cf3fe0d99ffd0fa0b469e94f (patch)
treef26e967e67a17c9cec4f29fec504f3242d8a2b23
parent2f648dd809195335e7ba84d005b877b55e03fc2c (diff)
downloadmullvadvpn-aee1d38a61676a41cf3fe0d99ffd0fa0b469e94f.tar.xz
mullvadvpn-aee1d38a61676a41cf3fe0d99ffd0fa0b469e94f.zip
Get rid of unnecessary `Arc<Mutex<_>>`
-rw-r--r--mullvad-daemon/src/api.rs47
1 files changed, 22 insertions, 25 deletions
diff --git a/mullvad-daemon/src/api.rs b/mullvad-daemon/src/api.rs
index 6074604b89..a7e35f0ad5 100644
--- a/mullvad-daemon/src/api.rs
+++ b/mullvad-daemon/src/api.rs
@@ -166,13 +166,12 @@ impl AccessModeSelector {
}
fn on_get_access_method(&mut self, tx: ResponseTx<AccessMethodSetting>) -> Result<()> {
- let value = self.get_access_method()?;
+ let value = self.get_access_method();
self.reply(tx, value)
}
- fn get_access_method(&mut self) -> Result<AccessMethodSetting> {
- let connections_modes = self.state.connection_modes.lock().unwrap();
- Ok(connections_modes.peek())
+ fn get_access_method(&mut self) -> AccessMethodSetting {
+ self.state.connection_modes.peek()
}
fn on_set_access_method(
@@ -180,14 +179,12 @@ impl AccessModeSelector {
tx: ResponseTx<()>,
value: AccessMethodSetting,
) -> Result<()> {
- self.set_access_method(value)?;
+ self.set_access_method(value);
self.reply(tx, ())
}
- fn set_access_method(&mut self, value: AccessMethodSetting) -> Result<()> {
- let mut connections_modes = self.state.connection_modes.lock().unwrap();
- connections_modes.set_access_method(value);
- Ok(())
+ fn set_access_method(&mut self, value: AccessMethodSetting) {
+ self.state.connection_modes.set_access_method(value);
}
fn on_next_connection_mode(&mut self, tx: ResponseTx<ApiConnectionMode>) -> Result<()> {
@@ -209,16 +206,18 @@ impl AccessModeSelector {
}
fn next_connection_mode(&mut self) -> ApiConnectionMode {
- let access_method = {
- let mut connection_modes = self.state.connection_modes.lock().unwrap();
- connection_modes
- .next()
- .map(|access_method_setting| access_method_setting.access_method)
- .unwrap_or(AccessMethod::from(BuiltInAccessMethod::Direct))
- };
+ let access_method = self
+ .state
+ .connection_modes
+ .next()
+ .map(|access_method_setting| access_method_setting.access_method)
+ .unwrap_or(AccessMethod::from(BuiltInAccessMethod::Direct));
let connection_mode = self.state.from(access_method);
- log::info!("New API connection mode selected: {}", connection_mode);
+ log::info!(
+ "New API connection mode selected: {connection_mode}",
+ connection_mode = connection_mode
+ );
connection_mode
}
@@ -227,14 +226,12 @@ impl AccessModeSelector {
tx: ResponseTx<()>,
values: Vec<AccessMethodSetting>,
) -> Result<()> {
- self.update_access_methods(values)?;
+ self.update_access_methods(values);
self.reply(tx, ())
}
- fn update_access_methods(&mut self, values: Vec<AccessMethodSetting>) -> Result<()> {
- let mut connection_modes = self.state.connection_modes.lock().unwrap();
- connection_modes.update_access_methods(values);
- Ok(())
+ fn update_access_methods(&mut self, values: Vec<AccessMethodSetting>) {
+ self.state.connection_modes.update_access_methods(values);
}
}
@@ -254,7 +251,7 @@ pub struct ApiConnectionModeProvider {
cache_dir: PathBuf,
/// Used for selecting a Bridge when the `Mullvad Bridges` access method is used.
relay_selector: RelaySelector,
- connection_modes: Arc<Mutex<ConnectionModesIterator>>,
+ connection_modes: ConnectionModesIterator,
}
impl ApiConnectionModeProvider {
@@ -267,8 +264,8 @@ impl ApiConnectionModeProvider {
Ok(Self {
cache_dir,
relay_selector,
- connection_modes: Arc::new(Mutex::new(connection_modes_iterator)),
- })
+ connection_modes: connection_modes_iterator,
+ }
}
/// Ad-hoc version of [`std::convert::From::from`], but since some