From 691086fdb9b4404534b2a5afdeb07c01b81dfc87 Mon Sep 17 00:00:00 2001 From: Sanae Date: Wed, 9 Feb 2022 19:52:33 -0600 Subject: [PATCH] Fixed suspicious non-maxsizes --- Server/Server.cs | 4 ++-- TestClient/Program.cs | 6 +++--- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/Server/Server.cs b/Server/Server.cs index 3beb789..5748876 100644 --- a/Server/Server.cs +++ b/Server/Server.cs @@ -44,7 +44,7 @@ public class Server { // broadcast packets to all clients public async Task Broadcast(T packet, Client? sender = null) where T : unmanaged, IPacket { - IMemoryOwner memory = memoryPool.Rent(Marshal.SizeOf() + Constants.HeaderSize); + IMemoryOwner memory = memoryPool.Rent(Constants.MaxPacketSize); PacketHeader header = new PacketHeader { Id = sender?.Id ?? Guid.Empty, @@ -142,7 +142,7 @@ public class Server { List otherConnectedPlayers = Clients.FindAll(c => c.Id != header.Id && c.Connected && c.Socket != null); await Parallel.ForEachAsync(otherConnectedPlayers, async (other, _) => { - IMemoryOwner connectBuffer = MemoryPool.Shared.Rent(256); + IMemoryOwner connectBuffer = MemoryPool.Shared.Rent(Constants.MaxPacketSize); PacketHeader connectHeader = new PacketHeader { Id = other.Id, Type = PacketType.Connect diff --git a/TestClient/Program.cs b/TestClient/Program.cs index decf98c..37d9e2b 100644 --- a/TestClient/Program.cs +++ b/TestClient/Program.cs @@ -27,7 +27,7 @@ PacketType[] reboundPackets = { }; async Task S() { - IMemoryOwner owner = MemoryPool.Shared.Rent(256); + IMemoryOwner owner = MemoryPool.Shared.Rent(Constants.MaxPacketSize); while (true) { await stream.ReadAsync(owner.Memory); PacketHeader header = MemoryMarshal.Read(owner.Memory.Span); @@ -43,12 +43,12 @@ PacketHeader coolHeader = new PacketHeader { Type = PacketType.Connect, Id = ownId }; -IMemoryOwner owner = MemoryPool.Shared.Rent(256); +IMemoryOwner owner = MemoryPool.Shared.Rent(Constants.MaxPacketSize); MemoryMarshal.Write(owner.Memory.Span[..], ref coolHeader); ConnectPacket connect = new ConnectPacket { ConnectionType = ConnectionTypes.FirstConnection }; -MemoryMarshal.Write(owner.Memory.Span[Constants.HeaderSize..256], ref connect); +MemoryMarshal.Write(owner.Memory.Span[Constants.HeaderSize..Constants.MaxPacketSize], ref connect); await stream.WriteAsync(owner.Memory); coolHeader.Type = PacketType.Player; MemoryMarshal.Write(owner.Memory.Span[..], ref coolHeader);