summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorLinus Färnstrand <linus@mullvad.net>2017-08-23 16:22:48 +0200
committerLinus Färnstrand <linus@mullvad.net>2017-08-24 11:12:43 +0200
commit188fc9d3cf882ecca6b699bef7dc1ff7c09dd008 (patch)
treed674599d3d868af7bd5649dade20e7e2e9b51eda
parente9ea6a8883493d89918e9b68223af56260d0439f (diff)
downloadmullvadvpn-188fc9d3cf882ecca6b699bef7dc1ff7c09dd008.tar.xz
mullvadvpn-188fc9d3cf882ecca6b699bef7dc1ff7c09dd008.zip
Refactor sending responses to mgmt interface
-rw-r--r--mullvad-daemon/src/main.rs17
1 files changed, 8 insertions, 9 deletions
diff --git a/mullvad-daemon/src/main.rs b/mullvad-daemon/src/main.rs
index 03c6f55d22..4b7b0f5745 100644
--- a/mullvad-daemon/src/main.rs
+++ b/mullvad-daemon/src/main.rs
@@ -295,9 +295,7 @@ impl Daemon {
}
fn on_get_state(&self, tx: OneshotSender<DaemonState>) {
- if let Err(_) = tx.send(self.last_broadcasted_state) {
- warn!("Unable to send current state to management interface client",);
- }
+ Self::oneshot_send(tx, self.last_broadcasted_state, "current state");
}
fn on_set_account(&mut self,
@@ -309,10 +307,7 @@ impl Daemon {
match save_result.chain_err(|| "Unable to save settings") {
Ok(account_changed) => {
- if let Err(_) = tx.send(()) {
- warn!("Unable to send response to management interface client");
- }
-
+ Self::oneshot_send(tx, (), "set_account response");
let tunnel_needs_restart = self.state == TunnelState::Connecting ||
self.state == TunnelState::Connected;
if account_changed && tunnel_needs_restart {
@@ -326,8 +321,12 @@ impl Daemon {
}
fn on_get_account(&self, tx: OneshotSender<Option<String>>) {
- if let Err(_) = tx.send(self.settings.get_account_token()) {
- warn!("Unable to send current account to management interface client");
+ Self::oneshot_send(tx, self.settings.get_account_token(), "current account")
+ }
+
+ fn oneshot_send<T>(tx: OneshotSender<T>, t: T, msg: &'static str) {
+ if let Err(_) = tx.send(t) {
+ warn!("Unable to send {} to management interface client", msg);
}
}