Update NetMessage to pass in MemoryStream (#21796)

This commit is contained in:
metalgearsloth
2023-11-28 19:11:16 +11:00
committed by GitHub
parent eeebb3ffd3
commit d783b32d92
5 changed files with 15 additions and 8 deletions

View File

@@ -57,7 +57,8 @@ namespace Content.Shared.Chat
public override void ReadFromBuffer(NetIncomingMessage buffer, IRobustSerializer serializer) public override void ReadFromBuffer(NetIncomingMessage buffer, IRobustSerializer serializer)
{ {
var length = buffer.ReadVariableInt32(); var length = buffer.ReadVariableInt32();
using var stream = buffer.ReadAlignedMemory(length); using var stream = new MemoryStream(length);
buffer.ReadAlignedMemory(stream, length);
serializer.DeserializeDirect(stream, out Message); serializer.DeserializeDirect(stream, out Message);
} }

View File

@@ -16,8 +16,9 @@ namespace Content.Shared.Eui
{ {
Id = buffer.ReadUInt32(); Id = buffer.ReadUInt32();
var len = buffer.ReadVariableInt32(); var length = buffer.ReadVariableInt32();
var stream = buffer.ReadAlignedMemory(len); using var stream = new MemoryStream(length);
buffer.ReadAlignedMemory(stream, length);
Message = ser.Deserialize<EuiMessageBase>(stream); Message = ser.Deserialize<EuiMessageBase>(stream);
} }

View File

@@ -16,8 +16,9 @@ namespace Content.Shared.Eui
{ {
Id = buffer.ReadUInt32(); Id = buffer.ReadUInt32();
var len = buffer.ReadVariableInt32(); var length = buffer.ReadVariableInt32();
var stream = buffer.ReadAlignedMemory(len); using var stream = new MemoryStream(length);
buffer.ReadAlignedMemory(stream, length);
State = ser.Deserialize<EuiStateBase>(stream); State = ser.Deserialize<EuiStateBase>(stream);
} }

View File

@@ -18,14 +18,17 @@ namespace Content.Shared.Preferences
public override void ReadFromBuffer(NetIncomingMessage buffer, IRobustSerializer serializer) public override void ReadFromBuffer(NetIncomingMessage buffer, IRobustSerializer serializer)
{ {
var length = buffer.ReadVariableInt32(); var length = buffer.ReadVariableInt32();
using (var stream = buffer.ReadAlignedMemory(length))
using (var stream = new MemoryStream())
{ {
buffer.ReadAlignedMemory(stream, length);
serializer.DeserializeDirect(stream, out Preferences); serializer.DeserializeDirect(stream, out Preferences);
} }
length = buffer.ReadVariableInt32(); length = buffer.ReadVariableInt32();
using (var stream = buffer.ReadAlignedMemory(length)) using (var stream = new MemoryStream())
{ {
buffer.ReadAlignedMemory(stream, length);
serializer.DeserializeDirect(stream, out Settings); serializer.DeserializeDirect(stream, out Settings);
} }
} }

View File

@@ -19,7 +19,8 @@ namespace Content.Shared.Preferences
{ {
Slot = buffer.ReadInt32(); Slot = buffer.ReadInt32();
var length = buffer.ReadVariableInt32(); var length = buffer.ReadVariableInt32();
using var stream = buffer.ReadAlignedMemory(length); using var stream = new MemoryStream(length);
buffer.ReadAlignedMemory(stream, length);
Profile = serializer.Deserialize<ICharacterProfile>(stream); Profile = serializer.Deserialize<ICharacterProfile>(stream);
} }