Update application state based on wg-quick

Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
This commit is contained in:
Jason A. Donenfeld
2018-04-23 17:04:17 +02:00
parent a1c6f4b3b7
commit 88cf839c90
6 changed files with 38 additions and 3 deletions
@@ -128,6 +128,15 @@ public final class TunnelManager extends BaseObservable {
return tunnels;
}
public void refreshTunnelStates() {
asyncWorker.supplyAsync(backend::enumerate)
.thenAccept(running -> {
for (final Tunnel tunnel : tunnels)
tunnel.onStateChanged(running.contains(tunnel.getName()) ? State.UP : State.DOWN);
})
.whenComplete(ExceptionLoggers.E);
}
public void onCreate() {
asyncWorker.supplyAsync(configStore::enumerate)
.thenAcceptBoth(asyncWorker.supplyAsync(backend::enumerate), this::onTunnelsLoaded)