Skip to content

Commit cdc107a

Browse files
committed
rework(network): separate room-specific protocol classes
1 parent 0c6891b commit cdc107a

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

46 files changed

+156
-157
lines changed

GUIDELINES.md

Lines changed: 10 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -52,10 +52,7 @@ The information which implementations to use resides in [resources/META-INF/serv
5252
## Networking Protocol Classes
5353

5454
[ProtocolPacket](sdk/src/server-api/sc/protocol/ProtocolPacket.kt) is the common interface
55-
for everything that is to be sent via the XML Protocol.
56-
57-
Data sent to a specific room has to implement [RoomMessage](sdk/src/server-api/sc/protocol/RoomMessage.kt)
58-
and is then wrapped in a [RoomPacket](sdk/src/server-api/sc/protocol/RoomPacket.kt).
55+
for objects sent via the XML Protocol.
5956

6057
### [Requests](sdk/src/server-api/sc/protocol/requests)
6158
- are all suffixed with `Request`
@@ -67,3 +64,12 @@ and is then wrapped in a [RoomPacket](sdk/src/server-api/sc/protocol/RoomPacket.
6764

6865
(*Response) Response to a request
6966
(*Event) Update to all observers
67+
68+
#### [Room Messages](sdk/src/server-api/sc/protocol/room)
69+
70+
Data sent to a specific room has to implement [RoomMessage](sdk/src/server-api/sc/protocol/room/RoomMessage.kt)
71+
and is then wrapped in a [RoomPacket](sdk/src/server-api/sc/protocol/room/RoomPacket.kt).
72+
73+
The package contains a few standard messages,
74+
but most will be implemented in the corresponding plugin.
75+

helpers/test-client/src/sc/TestClient.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@
1111
import sc.networking.clients.XStreamClient;
1212
import sc.protocol.CloseConnection;
1313
import sc.protocol.ProtocolPacket;
14-
import sc.protocol.RoomPacket;
14+
import sc.protocol.room.RoomPacket;
1515
import sc.protocol.requests.*;
1616
import sc.protocol.responses.*;
1717
import sc.server.Configuration;

plugin/src/client/sc/plugin2021/AbstractClient.kt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,9 +7,9 @@ import sc.networking.clients.AbstractLobbyClientListener
77
import sc.networking.clients.IControllableGame
88
import sc.networking.clients.ILobbyClientListener
99
import sc.networking.clients.LobbyClient
10-
import sc.protocol.RoomMessage
10+
import sc.protocol.room.RoomMessage
1111
import sc.protocol.responses.GamePreparedResponse
12-
import sc.protocol.responses.ErrorMessage
12+
import sc.protocol.room.ErrorMessage
1313
import sc.shared.GameResult
1414
import sc.shared.WelcomeMessage
1515
import java.net.ConnectException

plugin/src/server/sc/plugin2021/Game.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ import sc.plugin2021.util.Constants
88
import sc.plugin2021.util.GameRuleLogic
99
import sc.plugin2021.util.MoveMistake
1010
import sc.plugin2021.util.WinReason
11-
import sc.protocol.RoomMessage
11+
import sc.protocol.room.RoomMessage
1212
import sc.shared.InvalidMoveException
1313
import sc.shared.PlayerScore
1414
import sc.shared.ScoreCause

sdk/src/framework/sc/shared/GameResult.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ package sc.shared
33
import com.thoughtworks.xstream.annotations.XStreamAlias
44
import com.thoughtworks.xstream.annotations.XStreamImplicit
55
import sc.framework.plugins.Player
6-
import sc.protocol.RoomMessage
6+
import sc.protocol.room.RoomMessage
77

88
/**
99
* Das Endergebnis eines Spiels.

sdk/src/framework/sc/shared/WelcomeMessage.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ package sc.shared
33
import com.thoughtworks.xstream.annotations.XStreamAlias
44
import com.thoughtworks.xstream.annotations.XStreamAsAttribute
55
import sc.api.plugins.ITeam
6-
import sc.protocol.RoomMessage
6+
import sc.protocol.room.RoomMessage
77

88
/** Nachricht, die zu Beginn eines Spiels an einen Client geschickt wird, um ihm seine Spielerfarbe mitzuteilen. */
99
@Suppress("DataClassPrivateConstructor")

sdk/src/server-api/sc/api/plugins/IGameInstance.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ import sc.api.plugins.exceptions.GameLogicException
44
import sc.api.plugins.exceptions.TooManyPlayersException
55
import sc.api.plugins.host.IGameListener
66
import sc.framework.plugins.Player
7-
import sc.protocol.RoomMessage
7+
import sc.protocol.room.RoomMessage
88
import sc.shared.InvalidMoveException
99
import sc.shared.PlayerScore
1010
import sc.shared.ScoreCause

sdk/src/server-api/sc/api/plugins/IGameState.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
package sc.api.plugins
22

3-
import sc.protocol.RoomMessage
3+
import sc.protocol.room.RoomMessage
44

55
/**
66
* Ein `GameState` beinhaltet alle Informationen, die den Spielstand zu
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
package sc.api.plugins
22

3-
import sc.protocol.RoomMessage
3+
import sc.protocol.room.RoomMessage
44

55
interface IMove: RoomMessage

sdk/src/server-api/sc/api/plugins/exceptions/NotYourTurnException.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
package sc.api.plugins.exceptions
22

33
import sc.framework.plugins.Player
4-
import sc.protocol.RoomMessage
4+
import sc.protocol.room.RoomMessage
55

66
data class NotYourTurnException(
77
val expected: Player?,

0 commit comments

Comments
 (0)