From: AeonLucid Date: Mon, 19 Dec 2022 14:55:27 +0000 (+0100) Subject: Add warning when not consuming all bytes of a logic component X-Git-Tag: v1.8.0~2^2~7 X-Git-Url: https://git.deb.at/?a=commitdiff_plain;h=4e5edcee49b5b1dce68c5dff83d3b656a720fd84;p=rhonda%2Fimpostor.git Add warning when not consuming all bytes of a logic component --- diff --git a/src/Impostor.Server/Net/Inner/Objects/GameManager/InnerGameManager.cs b/src/Impostor.Server/Net/Inner/Objects/GameManager/InnerGameManager.cs index 8ed3a00..0d9b2a6 100644 --- a/src/Impostor.Server/Net/Inner/Objects/GameManager/InnerGameManager.cs +++ b/src/Impostor.Server/Net/Inner/Objects/GameManager/InnerGameManager.cs @@ -78,7 +78,19 @@ internal abstract class InnerGameManager : InnerNetObject, IInnerGameManager continue; } - this._logicComponents[tag].Deserialize(innerReader, initialState); + var component = this._logicComponents[tag]; + + component.Deserialize(innerReader, initialState); + + if (innerReader.Position < innerReader.Length) + { + _logger.LogWarning( + "Server did not consume all bytes from {0} component {1} ({2} < {3}).", + nameof(InnerGameManager), + component.GetType().FullName, + reader.Position, + reader.Length); + } } return ValueTask.CompletedTask; diff --git a/src/Impostor.Server/Net/Inner/Objects/GameManager/Logic/GameLogicComponent.cs b/src/Impostor.Server/Net/Inner/Objects/GameManager/Logic/GameLogicComponent.cs index 5e2b4d5..c2e0d33 100644 --- a/src/Impostor.Server/Net/Inner/Objects/GameManager/Logic/GameLogicComponent.cs +++ b/src/Impostor.Server/Net/Inner/Objects/GameManager/Logic/GameLogicComponent.cs @@ -17,6 +17,5 @@ internal abstract class GameLogicComponent public virtual void Deserialize(IMessageReader reader, bool initialState) { - throw new NotImplementedException(); } }