diff options
| author | Linus Färnstrand <linus@mullvad.net> | 2019-03-27 15:15:42 +0100 |
|---|---|---|
| committer | Linus Färnstrand <linus@mullvad.net> | 2019-03-27 15:45:22 +0100 |
| commit | aefbb16235edb96fa38745d1ded72a23ccddafd3 (patch) | |
| tree | b54cb4a388dc525b4812fbe89f06335b594b35d1 /mullvad-cli/src | |
| parent | d334f116441186ee57abab70dc0509d8e69b860f (diff) | |
| download | mullvadvpn-aefbb16235edb96fa38745d1ded72a23ccddafd3.tar.xz mullvadvpn-aefbb16235edb96fa38745d1ded72a23ccddafd3.zip | |
Change daemon to expose a single event subscription
Diffstat (limited to 'mullvad-cli/src')
| -rw-r--r-- | mullvad-cli/src/cmds/status.rs | 22 |
1 files changed, 12 insertions, 10 deletions
diff --git a/mullvad-cli/src/cmds/status.rs b/mullvad-cli/src/cmds/status.rs index f39d9cef68..fc6df014fc 100644 --- a/mullvad-cli/src/cmds/status.rs +++ b/mullvad-cli/src/cmds/status.rs @@ -1,7 +1,7 @@ use crate::{new_rpc_client, Command, Error, ErrorKind, Result, ResultExt}; use futures::{Future, Stream}; use mullvad_ipc_client::DaemonRpcClient; -use mullvad_types::auth_failed::AuthFailed; +use mullvad_types::{auth_failed::AuthFailed, DaemonEvent}; use talpid_types::tunnel::{BlockReason, TunnelStateTransition}; pub struct Status; @@ -27,17 +27,19 @@ impl Command for Status { print_location(&mut rpc)?; if matches.subcommand_matches("listen").is_some() { let subscription = rpc - .new_state_subscribe() + .daemon_event_subscribe() .wait() .map_err(|_err| Error::from(ErrorKind::CantSubscribe))?; - for new_state in subscription.wait() { - let new_state = new_state.chain_err(|| "Subscription failed")?; - print_state(&new_state); - - use self::TunnelStateTransition::*; - match new_state { - Connected(_) | Disconnected => print_location(&mut rpc)?, - _ => {} + for event in subscription.wait() { + if let DaemonEvent::StateTransition(new_state) = + event.chain_err(|| "Subscription failed")? + { + print_state(&new_state); + use self::TunnelStateTransition::*; + match new_state { + Connected(_) | Disconnected => print_location(&mut rpc)?, + _ => {} + } } } } |
