1. set blocking read

This commit is contained in:
vadym 2020-08-05 10:59:00 -07:00
parent a24e3ad645
commit df0733f6b6

View File

@ -89,6 +89,7 @@ class YggdrasilTunService : VpnService() {
.addAddress(address!!, 7) .addAddress(address!!, 7)
.allowFamily(OsConstants.AF_INET) .allowFamily(OsConstants.AF_INET)
.allowBypass() .allowBypass()
.setBlocking(true)
.setMtu(MAX_PACKET_SIZE) .setMtu(MAX_PACKET_SIZE)
} else { } else {
Builder() Builder()
@ -227,11 +228,7 @@ class YggdrasilTunService : VpnService() {
try { try {
// Read the outgoing packet from the input stream. // Read the outgoing packet from the input stream.
val length = tunInputStream?.read(buffer) ?: 1 val length = tunInputStream?.read(buffer) ?: 1
if (length > 0){
yggConduitEndpoint.send(buffer.sliceArray(IntRange(0, length - 1))) yggConduitEndpoint.send(buffer.sliceArray(IntRange(0, length - 1)))
} else {
Thread.sleep(10)
}
} catch (e: IOException) { } catch (e: IOException) {
e.printStackTrace() e.printStackTrace()
} }