From e87e678d0fd54ad6aeb578d7724abb7551cd857d Mon Sep 17 00:00:00 2001 From: Anuken Date: Mon, 22 Mar 2021 11:32:36 -0400 Subject: [PATCH] Use AsyncExecutor for pings --- core/src/mindustry/net/ArcNetProvider.java | 5 +++-- core/src/mindustry/net/BeControl.java | 8 ++++---- gradle.properties | 2 +- 3 files changed, 8 insertions(+), 7 deletions(-) diff --git a/core/src/mindustry/net/ArcNetProvider.java b/core/src/mindustry/net/ArcNetProvider.java index da3cf9fb42..4e06e39992 100644 --- a/core/src/mindustry/net/ArcNetProvider.java +++ b/core/src/mindustry/net/ArcNetProvider.java @@ -22,6 +22,7 @@ import static mindustry.Vars.*; public class ArcNetProvider implements NetProvider{ final Client client; final Prov packetSupplier = () -> new DatagramPacket(new byte[512], 512); + final AsyncExecutor executor = new AsyncExecutor(Math.max(Runtime.getRuntime().availableProcessors(), 4)); final Server server; final CopyOnWriteArrayList connections = new CopyOnWriteArrayList<>(); @@ -179,7 +180,7 @@ public class ArcNetProvider implements NetProvider{ @Override public void pingHost(String address, int port, Cons valid, Cons invalid){ - Threads.daemon(() -> { + executor.submit(() -> { try{ DatagramSocket socket = new DatagramSocket(); long time = Time.millis(); @@ -255,7 +256,7 @@ public class ArcNetProvider implements NetProvider{ @Override public void closeServer(){ connections.clear(); - Threads.daemon(server::stop); + executor.submit(server::stop); } ArcConnection getByArcID(int id){ diff --git a/core/src/mindustry/net/BeControl.java b/core/src/mindustry/net/BeControl.java index 6bc9e296f4..588d35cfc7 100644 --- a/core/src/mindustry/net/BeControl.java +++ b/core/src/mindustry/net/BeControl.java @@ -45,9 +45,9 @@ public class BeControl{ }, updateInterval, updateInterval); } - if(System.getProperties().containsKey("becopy")){ + if(OS.hasProp("becopy")){ try{ - Fi dest = Fi.get(System.getProperty("becopy")); + Fi dest = Fi.get(OS.prop("becopy")); Fi self = Fi.get(BeControl.class.getProtectionDomain().getCodeSource().getLocation().toURI().getPath()); for(Fi file : self.parent().findAll(f -> !f.equals(self))) file.delete(); @@ -101,8 +101,8 @@ public class BeControl{ float[] progress = {0}; int[] length = {0}; Fi file = bebuildDirectory.child("client-be-" + updateBuild + ".jar"); - Fi fileDest = System.getProperties().contains("becopy") ? - Fi.get(System.getProperty("becopy")) : + Fi fileDest = OS.hasProp("becopy") ? + Fi.get(OS.prop("becopy")) : Fi.get(BeControl.class.getProtectionDomain().getCodeSource().getLocation().toURI().getPath()); BaseDialog dialog = new BaseDialog("@be.updating"); diff --git a/gradle.properties b/gradle.properties index 643817bbb8..984b91d663 100644 --- a/gradle.properties +++ b/gradle.properties @@ -1,3 +1,3 @@ org.gradle.daemon=true org.gradle.jvmargs=-Xms256m -Xmx1024m -archash=0c7618428502c75e08b4e15239df297c7ab95be9 +archash=2e35f7b6bda1d3dea4ee1ae95db76cce37bae506