From d681c2aa5fb3b3fa671b14c83281615017ef871c Mon Sep 17 00:00:00 2001 From: RandomityGuy <31925790+RandomityGuy@users.noreply.github.com> Date: Tue, 28 May 2024 20:13:42 +0530 Subject: [PATCH] more gc blocking --- src/net/MasterServerClient.hx | 23 ++++++++++++++++++++++- src/net/Net.hx | 1 - 2 files changed, 22 insertions(+), 2 deletions(-) diff --git a/src/net/MasterServerClient.hx b/src/net/MasterServerClient.hx index a689dbed..a2aad21e 100644 --- a/src/net/MasterServerClient.hx +++ b/src/net/MasterServerClient.hx @@ -26,17 +26,26 @@ class MasterServerClient { #if hl var wsThread:sys.thread.Thread; + static var responses:sys.thread.Deque<() -> Void> = new sys.thread.Deque<() -> Void>(); + var toSend:sys.thread.Deque = new sys.thread.Deque(); var stopping:Bool = false; - var stopMutex: sys.thread.Mutex = new sys.thread.Mutex(); + var stopMutex:sys.thread.Mutex = new sys.thread.Mutex(); #end public function new(onOpenFunc:() -> Void) { #if hl wsThread = sys.thread.Thread.create(() -> { + hl.Gc.enable(false); + hl.Gc.blocking(true); // Wtf is this shit #end + ws = WebSocket.create(serverIp); + #if hl + hl.Gc.enable(true); + hl.Gc.blocking(false); + #end ws.onopen = () -> { open = true; #if hl @@ -98,10 +107,22 @@ class MasterServerClient { var s = toSend.pop(false); if (s == null) break; + #if hl + hl.Gc.blocking(true); + #end ws.sendString(s); + #if hl + hl.Gc.blocking(false); + #end } + #if hl + hl.Gc.blocking(true); + #end ws.process(); + #if hl + hl.Gc.blocking(false); + #end stopMutex.release(); Sys.sleep(0.1); } diff --git a/src/net/Net.hx b/src/net/Net.hx index e65a46b5..c6a6eaf1 100644 --- a/src/net/Net.hx +++ b/src/net/Net.hx @@ -87,7 +87,6 @@ class Net { "stun:stun2.l.google.com:19302", "stun:stun3.l.google.com:19302", "stun:stun4.l.google.com:19302", - "stun:relay.metered.ca:80", ]; public static var turnServer:String = "";