Made fast reconnect when network becomes up. (#28)

* Made fast reconnect when network becomes up.
* Use `retryPeersNow`
This commit is contained in:
Revertron 2022-11-12 12:37:40 +01:00 committed by GitHub
parent 41569a9ee2
commit c9476a7b00
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
5 changed files with 58 additions and 3 deletions

View file

@ -21,6 +21,7 @@ class PacketTunnelProvider: VpnService() {
const val ACTION_START = "eu.neilalexander.yggdrasil.PacketTunnelProvider.START"
const val ACTION_STOP = "eu.neilalexander.yggdrasil.PacketTunnelProvider.STOP"
const val ACTION_CONNECT = "eu.neilalexander.yggdrasil.PacketTunnelProvider.CONNECT"
}
private var yggdrasil = Yggdrasil()
@ -56,6 +57,10 @@ class PacketTunnelProvider: VpnService() {
Log.d(TAG, "Stopping...")
stop(); START_NOT_STICKY
}
ACTION_CONNECT -> {
Log.d(TAG, "Connecting...")
connect(); START_STICKY
}
else -> {
Log.d(TAG, "Starting...")
start(); START_STICKY
@ -181,6 +186,13 @@ class PacketTunnelProvider: VpnService() {
stopSelf()
}
private fun connect() {
if (!started.get()) {
return
}
yggdrasil.retryPeersNow()
}
private fun updater() {
updates@ while (started.get()) {
if ((application as GlobalApplication).needUiUpdates()) {
@ -260,4 +272,4 @@ class PacketTunnelProvider: VpnService() {
readerStream = null
}
}
}
}