From d7d6ca41788a288ed910353693e0bb64805ee751 Mon Sep 17 00:00:00 2001 From: Richard Maw Date: Sun, 19 Jan 2025 16:27:52 +0000 Subject: [PATCH] Retain serviceIdentifier in MapToolServer objects --- .../rptools/maptool/server/MapToolServer.java | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/src/main/java/net/rptools/maptool/server/MapToolServer.java b/src/main/java/net/rptools/maptool/server/MapToolServer.java index 68925dda05..9c7556a022 100644 --- a/src/main/java/net/rptools/maptool/server/MapToolServer.java +++ b/src/main/java/net/rptools/maptool/server/MapToolServer.java @@ -21,6 +21,7 @@ import java.util.Map.Entry; import java.util.Random; import java.util.concurrent.atomic.AtomicBoolean; +import javax.annotation.Nonnull; import javax.annotation.Nullable; import javax.swing.SwingUtilities; import net.rptools.clientserver.ConnectionFactory; @@ -67,6 +68,7 @@ public enum State { Stopped } + @Nonnull private final String serviceIdentifier; private final Server server; private final MessageHandler messageHandler; private final Router router; @@ -97,6 +99,7 @@ public MapToolServer( boolean useUPnP, ServerPolicy policy, ServerSidePlayerDatabase playerDb) { + this.serviceIdentifier = id; this.config = config; this.useUPnP = useUPnP; this.policy = new ServerPolicy(policy); @@ -204,6 +207,19 @@ public int getPort() { return config == null ? -1 : config.getPort(); } + /** + * Get the ID that this server responds to service announcement requests with. + * + * @return The identifier or null if it's not being announced. + */ + @Nullable + public String getServiceIdentifier() { + if (announcer == null) { + return null; + } + return serviceIdentifier; + } + private void connectionAdded(Connection conn) { var handshake = new ServerHandshake(