Fixed suspicious non-maxsizes

This commit is contained in:
Sanae 2022-02-09 19:52:33 -06:00
parent 7dbe2ecd55
commit 691086fdb9
2 changed files with 5 additions and 5 deletions

View File

@ -44,7 +44,7 @@ public class Server {
// broadcast packets to all clients // broadcast packets to all clients
public async Task Broadcast<T>(T packet, Client? sender = null) where T : unmanaged, IPacket { public async Task Broadcast<T>(T packet, Client? sender = null) where T : unmanaged, IPacket {
IMemoryOwner<byte> memory = memoryPool.Rent(Marshal.SizeOf<T>() + Constants.HeaderSize); IMemoryOwner<byte> memory = memoryPool.Rent(Constants.MaxPacketSize);
PacketHeader header = new PacketHeader { PacketHeader header = new PacketHeader {
Id = sender?.Id ?? Guid.Empty, Id = sender?.Id ?? Guid.Empty,
@ -142,7 +142,7 @@ public class Server {
List<Client> otherConnectedPlayers = Clients.FindAll(c => c.Id != header.Id && c.Connected && c.Socket != null); List<Client> otherConnectedPlayers = Clients.FindAll(c => c.Id != header.Id && c.Connected && c.Socket != null);
await Parallel.ForEachAsync(otherConnectedPlayers, async (other, _) => { await Parallel.ForEachAsync(otherConnectedPlayers, async (other, _) => {
IMemoryOwner<byte> connectBuffer = MemoryPool<byte>.Shared.Rent(256); IMemoryOwner<byte> connectBuffer = MemoryPool<byte>.Shared.Rent(Constants.MaxPacketSize);
PacketHeader connectHeader = new PacketHeader { PacketHeader connectHeader = new PacketHeader {
Id = other.Id, Id = other.Id,
Type = PacketType.Connect Type = PacketType.Connect

View File

@ -27,7 +27,7 @@ PacketType[] reboundPackets = {
}; };
async Task S() { async Task S() {
IMemoryOwner<byte> owner = MemoryPool<byte>.Shared.Rent(256); IMemoryOwner<byte> owner = MemoryPool<byte>.Shared.Rent(Constants.MaxPacketSize);
while (true) { while (true) {
await stream.ReadAsync(owner.Memory); await stream.ReadAsync(owner.Memory);
PacketHeader header = MemoryMarshal.Read<PacketHeader>(owner.Memory.Span); PacketHeader header = MemoryMarshal.Read<PacketHeader>(owner.Memory.Span);
@ -43,12 +43,12 @@ PacketHeader coolHeader = new PacketHeader {
Type = PacketType.Connect, Type = PacketType.Connect,
Id = ownId Id = ownId
}; };
IMemoryOwner<byte> owner = MemoryPool<byte>.Shared.Rent(256); IMemoryOwner<byte> owner = MemoryPool<byte>.Shared.Rent(Constants.MaxPacketSize);
MemoryMarshal.Write(owner.Memory.Span[..], ref coolHeader); MemoryMarshal.Write(owner.Memory.Span[..], ref coolHeader);
ConnectPacket connect = new ConnectPacket { ConnectPacket connect = new ConnectPacket {
ConnectionType = ConnectionTypes.FirstConnection 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); await stream.WriteAsync(owner.Memory);
coolHeader.Type = PacketType.Player; coolHeader.Type = PacketType.Player;
MemoryMarshal.Write(owner.Memory.Span[..], ref coolHeader); MemoryMarshal.Write(owner.Memory.Span[..], ref coolHeader);