From aecfcd2d42041ac52701f05809a345c4e06946af Mon Sep 17 00:00:00 2001 From: Yannik Bretschneider Date: Wed, 2 Jun 2021 17:51:23 +0200 Subject: [PATCH] doc: added logging --- .../lobby/pipelining/DisconnectSegment.java | 3 ++ .../lobby/pipelining/GameStateSegment.java | 3 ++ .../server/lobby/pipelining/PauseSegment.java | 54 +++++++++---------- .../server/lobby/pipelining/Pipeline.java | 5 ++ 4 files changed, 37 insertions(+), 28 deletions(-) diff --git a/Server/src/main/java/uulm/teamname/marvelous/server/lobby/pipelining/DisconnectSegment.java b/Server/src/main/java/uulm/teamname/marvelous/server/lobby/pipelining/DisconnectSegment.java index 08b7ba9..a2fb0de 100644 --- a/Server/src/main/java/uulm/teamname/marvelous/server/lobby/pipelining/DisconnectSegment.java +++ b/Server/src/main/java/uulm/teamname/marvelous/server/lobby/pipelining/DisconnectSegment.java @@ -1,5 +1,6 @@ package uulm.teamname.marvelous.server.lobby.pipelining; +import org.tinylog.Logger; import uulm.teamname.marvelous.gamelibrary.events.Event; import uulm.teamname.marvelous.server.ParticipantType; import uulm.teamname.marvelous.gamelibrary.requests.RequestType; @@ -19,7 +20,9 @@ public class DisconnectSegment implements Segment { @Override public void processRequests(Packet packet, List carrier, AtomicBoolean abort) { + Logger.trace("DisconnectSegment received {} requests.", packet.size()); if (packet.containsRequestOfType(RequestType.DisconnectRequest)) { + Logger.debug("Player {} sent DisconnectRequest", packet.getOrigin().type); parent.connection.removePlayer(packet.getOrigin()); if (packet.getOrigin().type != ParticipantType.Spectator) { diff --git a/Server/src/main/java/uulm/teamname/marvelous/server/lobby/pipelining/GameStateSegment.java b/Server/src/main/java/uulm/teamname/marvelous/server/lobby/pipelining/GameStateSegment.java index fad74be..4b70079 100644 --- a/Server/src/main/java/uulm/teamname/marvelous/server/lobby/pipelining/GameStateSegment.java +++ b/Server/src/main/java/uulm/teamname/marvelous/server/lobby/pipelining/GameStateSegment.java @@ -1,5 +1,6 @@ package uulm.teamname.marvelous.server.lobby.pipelining; +import org.tinylog.Logger; import uulm.teamname.marvelous.gamelibrary.events.Event; import uulm.teamname.marvelous.gamelibrary.events.EventBuilder; import uulm.teamname.marvelous.gamelibrary.gamelogic.GameInstance; @@ -19,7 +20,9 @@ public class GameStateSegment implements Segment { @Override public void processRequests(Packet packet, List carrier, AtomicBoolean abort) { + Logger.trace("GameStateSegment received {} requests.", packet.size()); var result = game.checkRequestsAndApply(packet.toArray(new Request[0])); + Logger.trace("GameLogic gener"); if (result.isPresent()) { carrier.addAll(result.get()); packet.clear(); diff --git a/Server/src/main/java/uulm/teamname/marvelous/server/lobby/pipelining/PauseSegment.java b/Server/src/main/java/uulm/teamname/marvelous/server/lobby/pipelining/PauseSegment.java index 9d349ca..243e07e 100644 --- a/Server/src/main/java/uulm/teamname/marvelous/server/lobby/pipelining/PauseSegment.java +++ b/Server/src/main/java/uulm/teamname/marvelous/server/lobby/pipelining/PauseSegment.java @@ -1,5 +1,6 @@ package uulm.teamname.marvelous.server.lobby.pipelining; +import org.tinylog.Logger; import uulm.teamname.marvelous.gamelibrary.events.Event; import uulm.teamname.marvelous.gamelibrary.events.EventBuilder; import uulm.teamname.marvelous.gamelibrary.events.EventType; @@ -19,12 +20,16 @@ public class PauseSegment implements Segment { } public void pauseGame(){ - if(!paused) + if(!paused) { paused = true; + Logger.debug("Game paused."); + } } public void pauseEnd(){ - if(paused) + if(paused) { paused = false; + Logger.debug("Game unpaused."); + } } public boolean isPaused() { @@ -54,55 +59,48 @@ public class PauseSegment implements Segment { */ @Override public void processRequests(Packet packet, List carrier, AtomicBoolean abort) { + Logger.trace("PauseSegment received {} requests. PausedState is {}", packet.size(), paused); // check if there is a pause request (either start or stop) if (packet.contains(new RequestBuilder(RequestType.PauseStartRequest).buildGameRequest())) { + Logger.trace("PauseStartRequest found"); if (!paused) { // pause the game pauseGame(); // create a new PauseStartEvent carrier.add(new EventBuilder(EventType.PauseStartEvent).buildGameEvent()); + Logger.trace("Added PauseStartEvent to pipeline carrier"); } else { // if the game is already paused + Logger.info("PauseStartRequest sent even though the game wasn't paused. Error triggered."); abort.set(true); return; } } else if (packet.contains(new RequestBuilder(RequestType.PauseStopRequest).buildGameRequest())) { + Logger.trace("PauseStopRequest found"); if (paused) { - // pause the game pauseEnd(); + Logger.debug("Game unpaused."); // create a new PauseStartRequest carrier.add(new EventBuilder(EventType.PauseStopEvent).buildGameEvent()); + Logger.trace("Added PauseStopEvent to pipeline carrier"); } else { // if the game is not paused + Logger.info("PauseStopRequest sent even though the game wasn't paused. Error triggered."); abort.set(true); return; } } - /* filter the events if (paused) { - for (Request request: packet) { - switch (request.type) { - case MeleeAttackRequest, - RangedAttackRequest, - MoveRequest, - ExchangeInfinityStoneRequest, - UseInfinityStoneRequest, - EndRoundRequest, - PauseStopRequest, - PauseStartRequest -> packet.remove(request); + Logger.trace("As the game is paused, Requests are removed."); + packet.removeRequestsOfTypes( + RequestType.MeleeAttackRequest, + RequestType.RangedAttackRequest, + RequestType.MoveRequest, + RequestType.ExchangeInfinityStoneRequest, + RequestType.UseInfinityStoneRequest, + RequestType.EndRoundRequest, + RequestType.PauseStopRequest, + RequestType.PauseStartRequest); - case DisconnectRequest, Req -> { /* do nothing } - } - } - } */ - - packet.removeRequestsOfTypes( - RequestType.MeleeAttackRequest, - RequestType.RangedAttackRequest, - RequestType.MoveRequest, - RequestType.ExchangeInfinityStoneRequest, - RequestType.UseInfinityStoneRequest, - RequestType.EndRoundRequest, - RequestType.PauseStopRequest, - RequestType.PauseStartRequest); + } } } diff --git a/Server/src/main/java/uulm/teamname/marvelous/server/lobby/pipelining/Pipeline.java b/Server/src/main/java/uulm/teamname/marvelous/server/lobby/pipelining/Pipeline.java index 9d7a767..bd5a679 100644 --- a/Server/src/main/java/uulm/teamname/marvelous/server/lobby/pipelining/Pipeline.java +++ b/Server/src/main/java/uulm/teamname/marvelous/server/lobby/pipelining/Pipeline.java @@ -1,5 +1,6 @@ package uulm.teamname.marvelous.server.lobby.pipelining; +import org.tinylog.Logger; import uulm.teamname.marvelous.gamelibrary.events.Event; import uulm.teamname.marvelous.gamelibrary.requests.Request; import uulm.teamname.marvelous.server.lobbymanager.Participant; @@ -37,6 +38,7 @@ public class Pipeline { * {@link Optional#isEmpty()} or {@link Optional#isPresent()}, and act accordingly. */ public Optional processRequests(Request[] requests, Participant origin) { + Logger.trace("Pipeline started RequestProcessing"); // The packet carries the requests, and gets smaller per segment Packet packet = new Packet(requests, origin); // The packet is filled by the requests resulting from events per segment @@ -44,6 +46,7 @@ public class Pipeline { // The abort boolean describes whether an abort happened in a segment AtomicBoolean abort = new AtomicBoolean(false); + Logger.trace("Iterating through segments"); // Loop through all segments for (Segment segment: segments) { // Give the segment the packet, carrier and abort, and let it process requests @@ -53,8 +56,10 @@ public class Pipeline { } } if (abort.get()) { // if abort is true, return empty optional + Logger.debug("Abort triggered in Pipeline"); return Optional.empty(); } else { // else return an optional of the array + Logger.trace("Pipeline executed normally. Returning {} events.", carrier.size()); return Optional.of(carrier.toArray(new Event[0])); } }