mirror of
https://github.com/SlimeVR/SlimeVR-Server.git
synced 2026-04-06 02:01:58 +02:00
Electron fixes after RC feedbacks (#1784)
This commit is contained in:
@@ -19,6 +19,10 @@ class BVHRecorder(server: VRServer) {
|
||||
val file = if (filePath.isDirectory()) {
|
||||
getBvhFile(filePath) ?: return
|
||||
} else {
|
||||
if (filePath.extension != "bvh") {
|
||||
LogManager.severe("[BVH] Invalid file extension for bvh file \"${filePath}\".")
|
||||
return
|
||||
}
|
||||
filePath
|
||||
}
|
||||
|
||||
|
||||
@@ -44,6 +44,18 @@ class UDPDevice(
|
||||
@JvmField
|
||||
var lastPacketNumber: Long = -1
|
||||
|
||||
@JvmField
|
||||
var totalPacketsReceived: Int = 0
|
||||
|
||||
@JvmField
|
||||
var acceptedPackets: Int = 0
|
||||
|
||||
@JvmField
|
||||
var lastPacketCounterReset: Long = System.currentTimeMillis()
|
||||
|
||||
val packetLossPercent: Float
|
||||
get() = if (totalPacketsReceived == 0) 0f else (1f - acceptedPackets.toFloat() / totalPacketsReceived.toFloat())
|
||||
|
||||
@JvmField
|
||||
var protocol: NetworkProtocol? = null
|
||||
|
||||
@@ -68,9 +80,25 @@ class UDPDevice(
|
||||
var firmwareFeatures = FirmwareFeatures()
|
||||
|
||||
fun isNextPacket(packetId: Long): Boolean {
|
||||
if (packetId != 0L && packetId <= lastPacketNumber) return false
|
||||
lastPacketNumber = packetId
|
||||
return true
|
||||
val now = System.currentTimeMillis()
|
||||
if (now - lastPacketCounterReset >= 10_000L) {
|
||||
totalPacketsReceived = 0
|
||||
acceptedPackets = 0
|
||||
lastPacketCounterReset = now
|
||||
}
|
||||
totalPacketsReceived++
|
||||
val accepted = packetId == 0L || packetId > lastPacketNumber
|
||||
if (accepted) {
|
||||
lastPacketNumber = packetId
|
||||
acceptedPackets++
|
||||
}
|
||||
val lost = totalPacketsReceived - acceptedPackets
|
||||
trackers.values.forEach {
|
||||
it.packetsReceived = totalPacketsReceived
|
||||
it.packetsLost = lost
|
||||
it.packetLoss = packetLossPercent
|
||||
}
|
||||
return accepted
|
||||
}
|
||||
|
||||
override fun toString(): String = "udp:/$ipAddress"
|
||||
|
||||
Reference in New Issue
Block a user