Run OSCQuery add on VRServer instead of locks

This commit is contained in:
Butterscotch!
2025-12-31 08:37:01 -05:00
parent d82a84db4e
commit 147b8cb22f
2 changed files with 6 additions and 3 deletions

View File

@@ -96,7 +96,7 @@ class VRCOSCHandler(
if (config.enabled && config.oscqueryEnabled) {
if (vrcOscQueryHandler == null) {
try {
vrcOscQueryHandler = VRCOSCQueryHandler(this)
vrcOscQueryHandler = VRCOSCQueryHandler(server, this)
} catch (e: Throwable) {
LogManager.severe("Unable to initialize OSCQuery: $e", e)
}
@@ -139,7 +139,6 @@ class VRCOSCHandler(
/**
* Adds an OSC Sender from OSCQuery
*/
@Synchronized
fun addOSCQuerySender(oscPortOut: Int, oscIP: String) {
if (!config.enabled) {
closeOscQuerySender()

View File

@@ -3,6 +3,7 @@ package dev.slimevr.osc
import OSCQueryNode
import OSCQueryServer
import ServiceInfo
import dev.slimevr.VRServer
import dev.slimevr.protocol.rpc.setup.RPCUtil
import io.eiren.util.logging.LogManager
import randomFreePort
@@ -17,6 +18,7 @@ private const val queryPath = "/tracking/vrsystem"
* https://github.com/SlimeVR/oscquery-kt
*/
class VRCOSCQueryHandler(
private val server: VRServer,
private val vrcOscHandler: VRCOSCHandler,
) {
private val oscQueryServer: OSCQueryServer
@@ -71,7 +73,9 @@ class VRCOSCQueryHandler(
val port = info.port
// create a new OSCHandler for this service
vrcOscHandler.addOSCQuerySender(port, ip)
server.queueTask {
vrcOscHandler.addOSCQuerySender(port, ip)
}
}
/**