From 62aa0ff832e033d5c76bd054f88c8a65675faa35 Mon Sep 17 00:00:00 2001 From: AeonLucid Date: Thu, 12 Nov 2020 04:34:07 +0100 Subject: [PATCH] Fix leaking MessageWriters --- .../Components/InnerCustomNetworkTransform.Api.cs | 10 ++++++---- .../Net/Inner/Objects/InnerPlayerControl.Api.cs | 2 +- src/Impostor.Server/Net/State/Game.cs | 4 ++-- 3 files changed, 9 insertions(+), 7 deletions(-) diff --git a/src/Impostor.Server/Net/Inner/Objects/Components/InnerCustomNetworkTransform.Api.cs b/src/Impostor.Server/Net/Inner/Objects/Components/InnerCustomNetworkTransform.Api.cs index 6223626..6cdd6b9 100644 --- a/src/Impostor.Server/Net/Inner/Objects/Components/InnerCustomNetworkTransform.Api.cs +++ b/src/Impostor.Server/Net/Inner/Objects/Components/InnerCustomNetworkTransform.Api.cs @@ -14,10 +14,12 @@ namespace Impostor.Server.Net.Inner.Objects.Components SnapTo(position, minSid); // Broadcast to all clients. - var writer = _game.StartRpc(NetId, RpcCalls.SnapTo); - WriteVector2(writer, position); - writer.Write(_lastSequenceId); - await _game.FinishRpcAsync(writer); + using (var writer = _game.StartRpc(NetId, RpcCalls.SnapTo)) + { + WriteVector2(writer, position); + writer.Write(_lastSequenceId); + await _game.FinishRpcAsync(writer); + } } } } diff --git a/src/Impostor.Server/Net/Inner/Objects/InnerPlayerControl.Api.cs b/src/Impostor.Server/Net/Inner/Objects/InnerPlayerControl.Api.cs index 95fad02..49076bf 100644 --- a/src/Impostor.Server/Net/Inner/Objects/InnerPlayerControl.Api.cs +++ b/src/Impostor.Server/Net/Inner/Objects/InnerPlayerControl.Api.cs @@ -99,7 +99,7 @@ namespace Impostor.Server.Net.Inner.Objects public async ValueTask SetMurderedAsync() { - var writer = _game.StartRpc(NetId, RpcCalls.MurderPlayer); + using var writer = _game.StartRpc(NetId, RpcCalls.MurderPlayer); writer.Write((byte)NetId); await _game.FinishRpcAsync(writer); } diff --git a/src/Impostor.Server/Net/State/Game.cs b/src/Impostor.Server/Net/State/Game.cs index ed2049d..1919867 100644 --- a/src/Impostor.Server/Net/State/Game.cs +++ b/src/Impostor.Server/Net/State/Game.cs @@ -16,7 +16,7 @@ using Microsoft.Extensions.Logging; namespace Impostor.Server.Net.State { - internal partial class Game : IGame + internal partial class Game { private readonly ILogger _logger; private readonly IServiceProvider _serviceProvider; @@ -123,4 +123,4 @@ namespace Impostor.Server.Net.State .Select(p => p.Client.Connection); } } -} \ No newline at end of file +} -- 2.39.5