diff --git a/LaunchServer/source/LaunchServer.java b/LaunchServer/source/LaunchServer.java index 20fcd1e..f0150a0 100644 --- a/LaunchServer/source/LaunchServer.java +++ b/LaunchServer/source/LaunchServer.java @@ -435,6 +435,7 @@ // Set response class bindings bindings.put("ResponseClass", Response.class); bindings.put("ResponseFactoryClass", Response.Factory.class); + bindings.put("ServerSocketHandlerListenerClass", ServerSocketHandler.Listener.class); } private final class ProfilesFileVisitor extends SimpleFileVisitor { diff --git a/LaunchServer/source/response/PingResponse.java b/LaunchServer/source/response/PingResponse.java index 549c6c8..ceca9d5 100644 --- a/LaunchServer/source/response/PingResponse.java +++ b/LaunchServer/source/response/PingResponse.java @@ -8,7 +8,7 @@ import launchserver.LaunchServer; public final class PingResponse extends Response { - public PingResponse(LaunchServer server, int id, HInput input, HOutput output) { + public PingResponse(LaunchServer server, long id, HInput input, HOutput output) { super(server, id, input, output); } diff --git a/LaunchServer/source/response/Response.java b/LaunchServer/source/response/Response.java index 60e5d5b..9650693 100644 --- a/LaunchServer/source/response/Response.java +++ b/LaunchServer/source/response/Response.java @@ -10,12 +10,12 @@ public abstract class Response { @LauncherAPI protected final LaunchServer server; - @LauncherAPI protected final int id; + @LauncherAPI protected final long id; @LauncherAPI protected final HInput input; @LauncherAPI protected final HOutput output; @LauncherAPI - protected Response(LaunchServer server, int id, HInput input, HOutput output) { + protected Response(LaunchServer server, long id, HInput input, HOutput output) { this.server = server; this.id = id; this.input = input; @@ -43,6 +43,6 @@ @FunctionalInterface public interface Factory { @LauncherAPI - Response newResponse(LaunchServer server, int id, HInput input, HOutput output); + Response newResponse(LaunchServer server, long id, HInput input, HOutput output); } } diff --git a/LaunchServer/source/response/ResponseThread.java b/LaunchServer/source/response/ResponseThread.java index 8baeeb3..e556b75 100644 --- a/LaunchServer/source/response/ResponseThread.java +++ b/LaunchServer/source/response/ResponseThread.java @@ -30,10 +30,10 @@ // Instance private final LaunchServer server; - private final int id; + private final long id; private final Socket socket; - public ResponseThread(LaunchServer server, int id, Socket socket) throws SocketException { + public ResponseThread(LaunchServer server, long id, Socket socket) throws SocketException { this.server = server; this.id = id; this.socket = socket; diff --git a/LaunchServer/source/response/ServerSocketHandler.java b/LaunchServer/source/response/ServerSocketHandler.java index 7cb7dd7..a199cad 100644 --- a/LaunchServer/source/response/ServerSocketHandler.java +++ b/LaunchServer/source/response/ServerSocketHandler.java @@ -10,7 +10,7 @@ import java.util.concurrent.ExecutorService; import java.util.concurrent.Executors; import java.util.concurrent.ThreadFactory; -import java.util.concurrent.atomic.AtomicInteger; +import java.util.concurrent.atomic.AtomicLong; import java.util.concurrent.atomic.AtomicReference; import launcher.LauncherAPI; @@ -33,7 +33,7 @@ // API private final Map customResponses = new ConcurrentHashMap<>(2); - private final AtomicInteger idCounter = new AtomicInteger(0); + private final AtomicLong idCounter = new AtomicLong(0); private volatile Listener listener; public ServerSocketHandler(LaunchServer server) { @@ -73,7 +73,7 @@ Socket socket = serverSocket.accept(); // Invoke pre-connect listener - int id = idCounter.incrementAndGet(); + long id = idCounter.incrementAndGet(); if (listener != null && !listener.onConnect(id, socket.getInetAddress())) { continue; // Listener didn't accepted this connection } @@ -90,7 +90,7 @@ } @LauncherAPI - public Response newCustomResponse(String name, int id, HInput input, HOutput output) throws IOException { + public Response newCustomResponse(String name, long id, HInput input, HOutput output) throws IOException { Response.Factory factory = VerifyHelper.getMapValue(customResponses, name, String.format("Unknown custom response: '%s'", name)); return factory.newResponse(server, id, input, output); @@ -108,24 +108,24 @@ this.listener = listener; } - /*package*/ void onDisconnect(int id, Exception e) { + /*package*/ void onDisconnect(long id, Exception e) { if (listener != null) { listener.onDisconnect(id, e); } } - /*package*/ boolean onHandshake(int id, Request.Type type) { + /*package*/ boolean onHandshake(long id, Request.Type type) { return listener == null || listener.onHandshake(id, type); } public interface Listener { @LauncherAPI - boolean onConnect(int id, InetAddress address); + boolean onConnect(long id, InetAddress address); @LauncherAPI - void onDisconnect(int id, Exception e); + void onDisconnect(long id, Exception e); @LauncherAPI - boolean onHandshake(int id, Request.Type type); + boolean onHandshake(long id, Request.Type type); } } diff --git a/LaunchServer/source/response/auth/AuthResponse.java b/LaunchServer/source/response/auth/AuthResponse.java index bc2ef38..0ac2c02 100644 --- a/LaunchServer/source/response/auth/AuthResponse.java +++ b/LaunchServer/source/response/auth/AuthResponse.java @@ -18,7 +18,7 @@ import launchserver.response.profile.ProfileByUUIDResponse; public final class AuthResponse extends Response { - public AuthResponse(LaunchServer server, int id, HInput input, HOutput output) { + public AuthResponse(LaunchServer server, long id, HInput input, HOutput output) { super(server, id, input, output); } diff --git a/LaunchServer/source/response/auth/CheckServerResponse.java b/LaunchServer/source/response/auth/CheckServerResponse.java index 6ee5754..7931d4f 100644 --- a/LaunchServer/source/response/auth/CheckServerResponse.java +++ b/LaunchServer/source/response/auth/CheckServerResponse.java @@ -12,7 +12,7 @@ import launchserver.response.profile.ProfileByUUIDResponse; public final class CheckServerResponse extends Response { - public CheckServerResponse(LaunchServer server, int id, HInput input, HOutput output) { + public CheckServerResponse(LaunchServer server, long id, HInput input, HOutput output) { super(server, id, input, output); } diff --git a/LaunchServer/source/response/auth/JoinServerResponse.java b/LaunchServer/source/response/auth/JoinServerResponse.java index 16c8073..2cd14c6 100644 --- a/LaunchServer/source/response/auth/JoinServerResponse.java +++ b/LaunchServer/source/response/auth/JoinServerResponse.java @@ -11,7 +11,7 @@ import launchserver.response.Response; public final class JoinServerResponse extends Response { - public JoinServerResponse(LaunchServer server, int id, HInput input, HOutput output) { + public JoinServerResponse(LaunchServer server, long id, HInput input, HOutput output) { super(server, id, input, output); } diff --git a/LaunchServer/source/response/profile/BatchProfileByUsernameResponse.java b/LaunchServer/source/response/profile/BatchProfileByUsernameResponse.java index 3bfab02..3dfb589 100644 --- a/LaunchServer/source/response/profile/BatchProfileByUsernameResponse.java +++ b/LaunchServer/source/response/profile/BatchProfileByUsernameResponse.java @@ -11,7 +11,7 @@ import launchserver.response.Response; public final class BatchProfileByUsernameResponse extends Response { - public BatchProfileByUsernameResponse(LaunchServer server, int id, HInput input, HOutput output) { + public BatchProfileByUsernameResponse(LaunchServer server, long id, HInput input, HOutput output) { super(server, id, input, output); } diff --git a/LaunchServer/source/response/profile/ProfileByUUIDResponse.java b/LaunchServer/source/response/profile/ProfileByUUIDResponse.java index 0071666..d90583f 100644 --- a/LaunchServer/source/response/profile/ProfileByUUIDResponse.java +++ b/LaunchServer/source/response/profile/ProfileByUUIDResponse.java @@ -10,7 +10,7 @@ import launchserver.response.Response; public final class ProfileByUUIDResponse extends Response { - public ProfileByUUIDResponse(LaunchServer server, int id, HInput input, HOutput output) { + public ProfileByUUIDResponse(LaunchServer server, long id, HInput input, HOutput output) { super(server, id, input, output); } diff --git a/LaunchServer/source/response/profile/ProfileByUsernameResponse.java b/LaunchServer/source/response/profile/ProfileByUsernameResponse.java index fa7947b..2b6cabd 100644 --- a/LaunchServer/source/response/profile/ProfileByUsernameResponse.java +++ b/LaunchServer/source/response/profile/ProfileByUsernameResponse.java @@ -10,7 +10,7 @@ import launchserver.response.Response; public final class ProfileByUsernameResponse extends Response { - public ProfileByUsernameResponse(LaunchServer server, int id, HInput input, HOutput output) { + public ProfileByUsernameResponse(LaunchServer server, long id, HInput input, HOutput output) { super(server, id, input, output); } diff --git a/LaunchServer/source/response/update/LauncherResponse.java b/LaunchServer/source/response/update/LauncherResponse.java index 546b32f..f1a8e4c 100644 --- a/LaunchServer/source/response/update/LauncherResponse.java +++ b/LaunchServer/source/response/update/LauncherResponse.java @@ -14,7 +14,7 @@ import launchserver.response.Response; public final class LauncherResponse extends Response { - public LauncherResponse(LaunchServer server, int id, HInput input, HOutput output) { + public LauncherResponse(LaunchServer server, long id, HInput input, HOutput output) { super(server, id, input, output); } diff --git a/LaunchServer/source/response/update/UpdateListResponse.java b/LaunchServer/source/response/update/UpdateListResponse.java index cd0b794..e670055 100644 --- a/LaunchServer/source/response/update/UpdateListResponse.java +++ b/LaunchServer/source/response/update/UpdateListResponse.java @@ -11,7 +11,7 @@ import launchserver.response.Response; public final class UpdateListResponse extends Response { - public UpdateListResponse(LaunchServer server, int id, HInput input, HOutput output) { + public UpdateListResponse(LaunchServer server, long id, HInput input, HOutput output) { super(server, id, input, output); } diff --git a/LaunchServer/source/response/update/UpdateResponse.java b/LaunchServer/source/response/update/UpdateResponse.java index 502fb9f..3e86387 100644 --- a/LaunchServer/source/response/update/UpdateResponse.java +++ b/LaunchServer/source/response/update/UpdateResponse.java @@ -18,7 +18,7 @@ import launchserver.response.Response; public final class UpdateResponse extends Response { - public UpdateResponse(LaunchServer server, int id, HInput input, HOutput output) { + public UpdateResponse(LaunchServer server, long id, HInput input, HOutput output) { super(server, id, input, output); }