Documentation added for server events

This commit is contained in:
lieght
2025-09-17 17:19:29 +02:00
parent 4378852394
commit 0d4472c814
2 changed files with 105 additions and 19 deletions

8
.idea/workspace.xml generated
View File

@@ -6,11 +6,7 @@
<component name="ChangeListManager"> <component name="ChangeListManager">
<list default="true" id="997b32da-b4d4-48ac-ab51-52d65f364f81" name="Changes" comment=""> <list default="true" id="997b32da-b4d4-48ac-ab51-52d65f364f81" name="Changes" comment="">
<change beforePath="$PROJECT_DIR$/.idea/workspace.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/workspace.xml" afterDir="false" /> <change beforePath="$PROJECT_DIR$/.idea/workspace.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/workspace.xml" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/main/java/org/toop/Main.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/org/toop/Main.java" afterDir="false" /> <change beforePath="$PROJECT_DIR$/src/main/java/org/toop/eventbus/Events.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/org/toop/eventbus/Events.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/main/java/org/toop/game/tictactoe/TicTacToe.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/org/toop/game/tictactoe/TicTacToe.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/main/java/org/toop/server/backend/tictactoe/TicTacToeServer.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/org/toop/server/backend/tictactoe/TicTacToeServer.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/main/java/org/toop/server/frontend/ServerConnection.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/org/toop/server/frontend/ServerConnection.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/main/resources/log4j2.xml" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/resources/log4j2.xml" afterDir="false" />
</list> </list>
<option name="SHOW_DIALOG" value="false" /> <option name="SHOW_DIALOG" value="false" />
<option name="HIGHLIGHT_CONFLICTS" value="true" /> <option name="HIGHLIGHT_CONFLICTS" value="true" />
@@ -87,7 +83,7 @@
<option name="number" value="Default" /> <option name="number" value="Default" />
<option name="presentableId" value="Default" /> <option name="presentableId" value="Default" />
<updated>1758117514311</updated> <updated>1758117514311</updated>
<workItem from="1758117515668" duration="2660000" /> <workItem from="1758117515668" duration="4415000" />
</task> </task>
<servers /> <servers />
</component> </component>

View File

@@ -76,96 +76,186 @@ public class Events implements IEvents {
public static class ServerEvents { public static class ServerEvents {
/**
* BLOCKING
* Requests all active connections. The result is returned via the provided CompletableFuture.
*
* @param future List of all connections in string form.
*/
public record RequestsAllConnections(CompletableFuture<String> future) {} public record RequestsAllConnections(CompletableFuture<String> future) {}
/**
* BLOCKING
* Requests all active servers. The result is returned via the provided CompletableFuture.
*
* @param future List of all servers in string form.
*/
public record RequestsAllServers(CompletableFuture<String> future) {} public record RequestsAllServers(CompletableFuture<String> future) {}
/**
* Forces closing all active connections immediately.
*/
public record ForceCloseAllConnections() {} public record ForceCloseAllConnections() {}
/**
* Forces closing all active servers immediately.
*/
public record ForceCloseAllServers() {} public record ForceCloseAllServers() {}
/**
* Requests starting a server with a specific port and game type.
*
* @param port The port to open the server.
* @param gameType Either "tictactoe" or ...
*/
public record StartServer(String port, String gameType) {} public record StartServer(String port, String gameType) {}
/**
* BLOCKING
* Requests starting a server with a specific port and game type, and returns a CompletableFuture
* that completes when the server has started.
*
* @param port The port to open the server.
* @param gameType Either "tictactoe" or ...
* @param future The uuid of the server.
*/
public record StartServerRequest(String port, String gameType, CompletableFuture<String> future) {} public record StartServerRequest(String port, String gameType, CompletableFuture<String> future) {}
/**
* Represents a server that has successfully started.
*
* @param uuid The unique identifier of the server.
* @param port The port the server is listening on.
*/
public record ServerStarted(String uuid, String port) {} public record ServerStarted(String uuid, String port) {}
/**
* BLOCKING
* Requests creation of a TicTacToe game on a specific server.
*
* @param serverUuid The unique identifier of the server where the game will be created.
* @param playerA The name of the first player.
* @param playerB The name of the second player.
* @param future The game UUID when the game is created.
*/
public record CreateTicTacToeGameRequest(String serverUuid, String playerA, String playerB, CompletableFuture<String> future) {} public record CreateTicTacToeGameRequest(String serverUuid, String playerA, String playerB, CompletableFuture<String> future) {}
/**
* Requests running a TicTacToe game on a specific server.
*
* @param serverUuid The unique identifier of the server.
* @param gameUuid The UUID of the game to run.
*/
public record RunTicTacToeGame(String serverUuid, String gameUuid) {} public record RunTicTacToeGame(String serverUuid, String gameUuid) {}
/**
* Requests ending a TicTacToe game on a specific server.
*
* @param serverUuid The UUID of the server the game is running on.
* @param gameUuid The UUID of the game to end.
*/
public record EndTicTacToeGame(String serverUuid, String gameUuid) {} public record EndTicTacToeGame(String serverUuid, String gameUuid) {}
/** /**
* *
* Triggers starting a server connection. * Triggers starting a server connection.
* *
* @param ip * @param ip The IP address of the server to connect to.
* @param port * @param port The port of the server to connect to.
*/ */
public record StartConnection(String ip, String port) {} public record StartConnection(String ip, String port) {}
/** /**
* Triggers starting a server connection, returns a future. * BLOCKING
* WARNING: This is a blocking operation. * Triggers starting a server connection and returns a future.
* *
* @param ip * @param ip The IP address of the server to connect to.
* @param port * @param port The port of the server to connect to.
* @param future * @param future Returns the UUID of the connection, when connection is established.
*/ */
public record StartConnectionRequest(String ip, String port, CompletableFuture<String> future) {} public record StartConnectionRequest(String ip, String port, CompletableFuture<String> future) {}
// public record StartGameConnectionRequest(String ip, String port, CompletableFuture<String> future) {} // public record StartGameConnectionRequest(String ip, String port, CompletableFuture<String> future) {}
/** /**
* Triggers when a connection to a server is established. * BLOCKING
* Triggers starting a server connection and returns a future.
* *
* @param connectionId * @param ip The IP address of the server to connect to.
* @param ip * @param port The port of the server to connect to.
* @param port * @param future The CompletableFuture that will complete when the connection is established.
*/ */
public record ConnectionEstablished(Object connectionId, String ip, String port) {} public record ConnectionEstablished(Object connectionId, String ip, String port) {}
/** /**
* Triggers sending a command to a server. * Triggers sending a command to a server.
*
* @param connectionId The UUID of the connection to send the command on.
* @param args The command arguments.
*/ */
public record SendCommand(String connectionId, String... args) { } public record SendCommand(String connectionId, String... args) { }
/** /**
* WIP
* Triggers when a command is sent to a server. * Triggers when a command is sent to a server.
*
* @param command The TicTacToeServer instance that executed the command.
* @param args The command arguments.
* @param result The result returned from executing the command.
*/ */
public record OnCommand(TicTacToeServer command, String[] args, String result) {} public record OnCommand(TicTacToeServer command, String[] args, String result) {}
/** /**
* Triggers when the server client receives a message. * Triggers when the server client receives a message.
*
* @param ConnectionUuid The UUID of the connection that received the message.
* @param message The message received.
*/ */
public record ReceivedMessage(String ConnectionUuid, String message) {} public record ReceivedMessage(String ConnectionUuid, String message) {}
/** /**
* Triggers on changing the server ip. * Triggers on changing the server IP.
*
* @param ip The new IP address.
*/ */
public record OnChangingServerIp(String ip) {} public record OnChangingServerIp(String ip) {}
/** /**
* Triggers on changing the server port. * Triggers on changing the server port.
*
* @param port The new port.
*/ */
public record OnChangingServerPort(String port) {} public record OnChangingServerPort(String port) {}
/** /**
* Triggers reconnecting to previous address. * Triggers reconnecting to a previous address.
*
* @param connectionId The identifier of the connection being reconnected.
*/ */
public record Reconnect(Object connectionId) {} public record Reconnect(Object connectionId) {}
/** /**
* Triggers changing connection to a new address. * Triggers changing connection to a new address.
*
* @param connectionId The identifier of the connection being changed.
* @param ip The new IP address.
* @param port The new port.
*/ */
public record ChangeConnection(Object connectionId, String ip, String port) {} public record ChangeConnection(Object connectionId, String ip, String port) {}
/** /**
* Triggers when the server couldn't connect to the desired address. * Triggers when the server couldn't connect to the desired address.
*
* @param connectionId The identifier of the connection that failed.
*/ */
public record CouldNotConnect(Object connectionId) {} public record CouldNotConnect(Object connectionId) {}
/**
* WIP
* Triggers when a connection closes.
*
*/
public record ClosedConnection() {} public record ClosedConnection() {}
} }