Pass IRobustSerializer to NetMessage (#11021)

This commit is contained in:
Leon Friedrich
2022-09-14 19:25:25 +12:00
committed by GitHub
parent cff6fe267c
commit feb50ce7cc
16 changed files with 52 additions and 48 deletions

View File

@@ -1,5 +1,6 @@
using Lidgren.Network; using Lidgren.Network;
using Robust.Shared.Network; using Robust.Shared.Network;
using Robust.Shared.Serialization;
namespace Content.Shared.Administration; namespace Content.Shared.Administration;
@@ -9,12 +10,12 @@ public sealed class GamePrototypeLoadMessage : NetMessage
public string PrototypeData { get; set; } = string.Empty; public string PrototypeData { get; set; } = string.Empty;
public override void ReadFromBuffer(NetIncomingMessage buffer) public override void ReadFromBuffer(NetIncomingMessage buffer, IRobustSerializer serializer)
{ {
PrototypeData = buffer.ReadString(); PrototypeData = buffer.ReadString();
} }
public override void WriteToBuffer(NetOutgoingMessage buffer) public override void WriteToBuffer(NetOutgoingMessage buffer, IRobustSerializer serializer)
{ {
buffer.Write(PrototypeData); buffer.Write(PrototypeData);
} }

View File

@@ -1,5 +1,6 @@
using Lidgren.Network; using Lidgren.Network;
using Robust.Shared.Network; using Robust.Shared.Network;
using Robust.Shared.Serialization;
namespace Content.Shared.Administration namespace Content.Shared.Administration
{ {
@@ -10,7 +11,7 @@ namespace Content.Shared.Administration
public AdminData? Admin; public AdminData? Admin;
public string[] AvailableCommands = Array.Empty<string>(); public string[] AvailableCommands = Array.Empty<string>();
public override void ReadFromBuffer(NetIncomingMessage buffer) public override void ReadFromBuffer(NetIncomingMessage buffer, IRobustSerializer serializer)
{ {
var count = buffer.ReadVariableInt32(); var count = buffer.ReadVariableInt32();
@@ -38,7 +39,7 @@ namespace Content.Shared.Administration
} }
public override void WriteToBuffer(NetOutgoingMessage buffer) public override void WriteToBuffer(NetOutgoingMessage buffer, IRobustSerializer serializer)
{ {
buffer.WriteVariableInt32(AvailableCommands.Length); buffer.WriteVariableInt32(AvailableCommands.Length);

View File

@@ -1,5 +1,6 @@
using Lidgren.Network; using Lidgren.Network;
using Robust.Shared.Network; using Robust.Shared.Network;
using Robust.Shared.Serialization;
using Robust.Shared.Utility; using Robust.Shared.Utility;
namespace Content.Shared.Administration; namespace Content.Shared.Administration;
@@ -22,14 +23,14 @@ public sealed class NetworkResourceUploadMessage : NetMessage
RelativePath = relativePath; RelativePath = relativePath;
} }
public override void ReadFromBuffer(NetIncomingMessage buffer) public override void ReadFromBuffer(NetIncomingMessage buffer, IRobustSerializer serializer)
{ {
var dataLength = buffer.ReadVariableInt32(); var dataLength = buffer.ReadVariableInt32();
Data = buffer.ReadBytes(dataLength); Data = buffer.ReadBytes(dataLength);
RelativePath = new ResourcePath(buffer.ReadString(), buffer.ReadString()); RelativePath = new ResourcePath(buffer.ReadString(), buffer.ReadString());
} }
public override void WriteToBuffer(NetOutgoingMessage buffer) public override void WriteToBuffer(NetOutgoingMessage buffer, IRobustSerializer serializer)
{ {
buffer.WriteVariableInt32(Data.Length); buffer.WriteVariableInt32(Data.Length);
buffer.Write(Data); buffer.Write(Data);

View File

@@ -1,6 +1,7 @@
using JetBrains.Annotations; using JetBrains.Annotations;
using Lidgren.Network; using Lidgren.Network;
using Robust.Shared.Network; using Robust.Shared.Network;
using Robust.Shared.Serialization;
namespace Content.Shared.Chat namespace Content.Shared.Chat
{ {
@@ -41,7 +42,7 @@ namespace Content.Shared.Chat
public bool HideChat { get; set; } public bool HideChat { get; set; }
public override void ReadFromBuffer(NetIncomingMessage buffer) public override void ReadFromBuffer(NetIncomingMessage buffer, IRobustSerializer serializer)
{ {
Channel = (ChatChannel) buffer.ReadInt16(); Channel = (ChatChannel) buffer.ReadInt16();
Message = buffer.ReadString(); Message = buffer.ReadString();
@@ -61,7 +62,7 @@ namespace Content.Shared.Chat
HideChat = buffer.ReadBoolean(); HideChat = buffer.ReadBoolean();
} }
public override void WriteToBuffer(NetOutgoingMessage buffer) public override void WriteToBuffer(NetOutgoingMessage buffer, IRobustSerializer serializer)
{ {
buffer.Write((short)Channel); buffer.Write((short)Channel);
buffer.Write(Message); buffer.Write(Message);

View File

@@ -1,5 +1,6 @@
using Lidgren.Network; using Lidgren.Network;
using Robust.Shared.Network; using Robust.Shared.Network;
using Robust.Shared.Serialization;
namespace Content.Shared.Eui namespace Content.Shared.Eui
{ {
@@ -14,7 +15,7 @@ namespace Content.Shared.Eui
public string OpenType = string.Empty; public string OpenType = string.Empty;
public uint Id; public uint Id;
public override void ReadFromBuffer(NetIncomingMessage buffer) public override void ReadFromBuffer(NetIncomingMessage buffer, IRobustSerializer serializer)
{ {
Id = buffer.ReadUInt32(); Id = buffer.ReadUInt32();
Type = (CtlType) buffer.ReadByte(); Type = (CtlType) buffer.ReadByte();
@@ -26,7 +27,7 @@ namespace Content.Shared.Eui
} }
} }
public override void WriteToBuffer(NetOutgoingMessage buffer) public override void WriteToBuffer(NetOutgoingMessage buffer, IRobustSerializer serializer)
{ {
buffer.Write(Id); buffer.Write(Id);
buffer.Write((byte) Type); buffer.Write((byte) Type);

View File

@@ -1,4 +1,4 @@
using System.IO; using System.IO;
using Lidgren.Network; using Lidgren.Network;
using Robust.Shared.Network; using Robust.Shared.Network;
using Robust.Shared.Serialization; using Robust.Shared.Serialization;
@@ -12,22 +12,20 @@ namespace Content.Shared.Eui
public uint Id; public uint Id;
public EuiMessageBase Message = default!; public EuiMessageBase Message = default!;
public override void ReadFromBuffer(NetIncomingMessage buffer) public override void ReadFromBuffer(NetIncomingMessage buffer, IRobustSerializer ser)
{ {
Id = buffer.ReadUInt32(); Id = buffer.ReadUInt32();
var ser = IoCManager.Resolve<IRobustSerializer>();
var len = buffer.ReadVariableInt32(); var len = buffer.ReadVariableInt32();
var stream = buffer.ReadAlignedMemory(len); var stream = buffer.ReadAlignedMemory(len);
Message = ser.Deserialize<EuiMessageBase>(stream); Message = ser.Deserialize<EuiMessageBase>(stream);
} }
public override void WriteToBuffer(NetOutgoingMessage buffer) public override void WriteToBuffer(NetOutgoingMessage buffer, IRobustSerializer ser)
{ {
buffer.Write(Id); buffer.Write(Id);
var stream = new MemoryStream(); var stream = new MemoryStream();
var ser = IoCManager.Resolve<IRobustSerializer>();
ser.Serialize(stream, Message); ser.Serialize(stream, Message);
var length = (int)stream.Length; var length = (int)stream.Length;
buffer.WriteVariableInt32(length); buffer.WriteVariableInt32(length);

View File

@@ -1,4 +1,4 @@
using System.IO; using System.IO;
using Lidgren.Network; using Lidgren.Network;
using Robust.Shared.Network; using Robust.Shared.Network;
using Robust.Shared.Serialization; using Robust.Shared.Serialization;
@@ -12,22 +12,20 @@ namespace Content.Shared.Eui
public uint Id; public uint Id;
public EuiStateBase State = default!; public EuiStateBase State = default!;
public override void ReadFromBuffer(NetIncomingMessage buffer) public override void ReadFromBuffer(NetIncomingMessage buffer, IRobustSerializer ser)
{ {
Id = buffer.ReadUInt32(); Id = buffer.ReadUInt32();
var ser = IoCManager.Resolve<IRobustSerializer>();
var len = buffer.ReadVariableInt32(); var len = buffer.ReadVariableInt32();
var stream = buffer.ReadAlignedMemory(len); var stream = buffer.ReadAlignedMemory(len);
State = ser.Deserialize<EuiStateBase>(stream); State = ser.Deserialize<EuiStateBase>(stream);
} }
public override void WriteToBuffer(NetOutgoingMessage buffer) public override void WriteToBuffer(NetOutgoingMessage buffer, IRobustSerializer ser)
{ {
buffer.Write(Id); buffer.Write(Id);
var stream = new MemoryStream(); var stream = new MemoryStream();
var ser = IoCManager.Resolve<IRobustSerializer>();
ser.Serialize(stream, State); ser.Serialize(stream, State);
var length = (int)stream.Length; var length = (int)stream.Length;
buffer.WriteVariableInt32(length); buffer.WriteVariableInt32(length);

View File

@@ -1,5 +1,6 @@
using Lidgren.Network; using Lidgren.Network;
using Robust.Shared.Network; using Robust.Shared.Network;
using Robust.Shared.Serialization;
namespace Content.Shared.GhostKick; namespace Content.Shared.GhostKick;
@@ -7,11 +8,11 @@ public sealed class MsgGhostKick : NetMessage
{ {
public override MsgGroups MsgGroup => MsgGroups.Core; public override MsgGroups MsgGroup => MsgGroups.Core;
public override void ReadFromBuffer(NetIncomingMessage buffer) public override void ReadFromBuffer(NetIncomingMessage buffer, IRobustSerializer serializer)
{ {
} }
public override void WriteToBuffer(NetOutgoingMessage buffer) public override void WriteToBuffer(NetOutgoingMessage buffer, IRobustSerializer serializer)
{ {
} }
} }

View File

@@ -1,5 +1,6 @@
using Lidgren.Network; using Lidgren.Network;
using Robust.Shared.Network; using Robust.Shared.Network;
using Robust.Shared.Serialization;
namespace Content.Shared.Info; namespace Content.Shared.Info;
@@ -14,12 +15,12 @@ public abstract class SharedRulesManager
public float PopupTime { get; set; } public float PopupTime { get; set; }
public override void ReadFromBuffer(NetIncomingMessage buffer) public override void ReadFromBuffer(NetIncomingMessage buffer, IRobustSerializer serializer)
{ {
PopupTime = buffer.ReadFloat(); PopupTime = buffer.ReadFloat();
} }
public override void WriteToBuffer(NetOutgoingMessage buffer) public override void WriteToBuffer(NetOutgoingMessage buffer, IRobustSerializer serializer)
{ {
buffer.Write(PopupTime); buffer.Write(PopupTime);
} }
@@ -32,11 +33,11 @@ public abstract class SharedRulesManager
{ {
public override MsgGroups MsgGroup => MsgGroups.Command; public override MsgGroups MsgGroup => MsgGroups.Command;
public override void ReadFromBuffer(NetIncomingMessage buffer) public override void ReadFromBuffer(NetIncomingMessage buffer, IRobustSerializer serializer)
{ {
} }
public override void WriteToBuffer(NetOutgoingMessage buffer) public override void WriteToBuffer(NetOutgoingMessage buffer, IRobustSerializer serializer)
{ {
} }
} }
@@ -48,11 +49,11 @@ public abstract class SharedRulesManager
{ {
public override MsgGroups MsgGroup => MsgGroups.Command; public override MsgGroups MsgGroup => MsgGroups.Command;
public override void ReadFromBuffer(NetIncomingMessage buffer) public override void ReadFromBuffer(NetIncomingMessage buffer, IRobustSerializer serializer)
{ {
} }
public override void WriteToBuffer(NetOutgoingMessage buffer) public override void WriteToBuffer(NetOutgoingMessage buffer, IRobustSerializer serializer)
{ {
} }
} }

View File

@@ -1,5 +1,6 @@
using Lidgren.Network; using Lidgren.Network;
using Robust.Shared.Network; using Robust.Shared.Network;
using Robust.Shared.Serialization;
namespace Content.Shared.Players.PlayTimeTracking; namespace Content.Shared.Players.PlayTimeTracking;
@@ -12,7 +13,7 @@ public sealed class MsgPlayTime : NetMessage
public Dictionary<string, TimeSpan> Trackers = new(); public Dictionary<string, TimeSpan> Trackers = new();
public override void ReadFromBuffer(NetIncomingMessage buffer) public override void ReadFromBuffer(NetIncomingMessage buffer, IRobustSerializer serializer)
{ {
var count = buffer.ReadVariableInt32(); var count = buffer.ReadVariableInt32();
for (var i = 0; i < count; i++) for (var i = 0; i < count; i++)
@@ -21,7 +22,7 @@ public sealed class MsgPlayTime : NetMessage
} }
} }
public override void WriteToBuffer(NetOutgoingMessage buffer) public override void WriteToBuffer(NetOutgoingMessage buffer, IRobustSerializer serializer)
{ {
buffer.WriteVariableInt32(Trackers.Count); buffer.WriteVariableInt32(Trackers.Count);

View File

@@ -1,5 +1,6 @@
using Lidgren.Network; using Lidgren.Network;
using Robust.Shared.Network; using Robust.Shared.Network;
using Robust.Shared.Serialization;
namespace Content.Shared.Preferences namespace Content.Shared.Preferences
{ {
@@ -12,12 +13,12 @@ namespace Content.Shared.Preferences
public int Slot; public int Slot;
public override void ReadFromBuffer(NetIncomingMessage buffer) public override void ReadFromBuffer(NetIncomingMessage buffer, IRobustSerializer serializer)
{ {
Slot = buffer.ReadInt32(); Slot = buffer.ReadInt32();
} }
public override void WriteToBuffer(NetOutgoingMessage buffer) public override void WriteToBuffer(NetOutgoingMessage buffer, IRobustSerializer serializer)
{ {
buffer.Write(Slot); buffer.Write(Slot);
} }

View File

@@ -1,4 +1,4 @@
using System.IO; using System.IO;
using Lidgren.Network; using Lidgren.Network;
using Robust.Shared.Network; using Robust.Shared.Network;
using Robust.Shared.Serialization; using Robust.Shared.Serialization;
@@ -15,9 +15,8 @@ namespace Content.Shared.Preferences
public PlayerPreferences Preferences = default!; public PlayerPreferences Preferences = default!;
public GameSettings Settings = default!; public GameSettings Settings = default!;
public override void ReadFromBuffer(NetIncomingMessage buffer) public override void ReadFromBuffer(NetIncomingMessage buffer, IRobustSerializer serializer)
{ {
var serializer = IoCManager.Resolve<IRobustSerializer>();
var length = buffer.ReadVariableInt32(); var length = buffer.ReadVariableInt32();
using (var stream = buffer.ReadAlignedMemory(length)) using (var stream = buffer.ReadAlignedMemory(length))
{ {
@@ -31,9 +30,8 @@ namespace Content.Shared.Preferences
} }
} }
public override void WriteToBuffer(NetOutgoingMessage buffer) public override void WriteToBuffer(NetOutgoingMessage buffer, IRobustSerializer serializer)
{ {
var serializer = IoCManager.Resolve<IRobustSerializer>();
using (var stream = new MemoryStream()) using (var stream = new MemoryStream())
{ {
serializer.SerializeDirect(stream, Preferences); serializer.SerializeDirect(stream, Preferences);

View File

@@ -1,5 +1,6 @@
using Lidgren.Network; using Lidgren.Network;
using Robust.Shared.Network; using Robust.Shared.Network;
using Robust.Shared.Serialization;
namespace Content.Shared.Preferences namespace Content.Shared.Preferences
{ {
@@ -12,12 +13,12 @@ namespace Content.Shared.Preferences
public int SelectedCharacterIndex; public int SelectedCharacterIndex;
public override void ReadFromBuffer(NetIncomingMessage buffer) public override void ReadFromBuffer(NetIncomingMessage buffer, IRobustSerializer serializer)
{ {
SelectedCharacterIndex = buffer.ReadVariableInt32(); SelectedCharacterIndex = buffer.ReadVariableInt32();
} }
public override void WriteToBuffer(NetOutgoingMessage buffer) public override void WriteToBuffer(NetOutgoingMessage buffer, IRobustSerializer serializer)
{ {
buffer.WriteVariableInt32(SelectedCharacterIndex); buffer.WriteVariableInt32(SelectedCharacterIndex);
} }

View File

@@ -1,4 +1,4 @@
using System.IO; using System.IO;
using Lidgren.Network; using Lidgren.Network;
using Robust.Shared.Network; using Robust.Shared.Network;
using Robust.Shared.Serialization; using Robust.Shared.Serialization;
@@ -15,19 +15,17 @@ namespace Content.Shared.Preferences
public int Slot; public int Slot;
public ICharacterProfile Profile = default!; public ICharacterProfile Profile = default!;
public override void ReadFromBuffer(NetIncomingMessage buffer) public override void ReadFromBuffer(NetIncomingMessage buffer, IRobustSerializer serializer)
{ {
Slot = buffer.ReadInt32(); Slot = buffer.ReadInt32();
var serializer = IoCManager.Resolve<IRobustSerializer>();
var length = buffer.ReadVariableInt32(); var length = buffer.ReadVariableInt32();
using var stream = buffer.ReadAlignedMemory(length); using var stream = buffer.ReadAlignedMemory(length);
Profile = serializer.Deserialize<ICharacterProfile>(stream); Profile = serializer.Deserialize<ICharacterProfile>(stream);
} }
public override void WriteToBuffer(NetOutgoingMessage buffer) public override void WriteToBuffer(NetOutgoingMessage buffer, IRobustSerializer serializer)
{ {
buffer.Write(Slot); buffer.Write(Slot);
var serializer = IoCManager.Resolve<IRobustSerializer>();
using (var stream = new MemoryStream()) using (var stream = new MemoryStream())
{ {
serializer.Serialize(stream, Profile); serializer.Serialize(stream, Profile);

View File

@@ -1,5 +1,6 @@
using Lidgren.Network; using Lidgren.Network;
using Robust.Shared.Network; using Robust.Shared.Network;
using Robust.Shared.Serialization;
namespace Content.Shared.Voting namespace Content.Shared.Voting
{ {
@@ -23,7 +24,7 @@ namespace Content.Shared.Voting
// It's possible to be able to call votes but all standard votes to be timed out. // It's possible to be able to call votes but all standard votes to be timed out.
// In this case you can open the interface and see the timeout listed there, I suppose. // In this case you can open the interface and see the timeout listed there, I suppose.
public override void ReadFromBuffer(NetIncomingMessage buffer) public override void ReadFromBuffer(NetIncomingMessage buffer, IRobustSerializer serializer)
{ {
CanCall = buffer.ReadBoolean(); CanCall = buffer.ReadBoolean();
buffer.ReadPadBits(); buffer.ReadPadBits();
@@ -40,7 +41,7 @@ namespace Content.Shared.Voting
} }
} }
public override void WriteToBuffer(NetOutgoingMessage buffer) public override void WriteToBuffer(NetOutgoingMessage buffer, IRobustSerializer serializer)
{ {
buffer.Write(CanCall); buffer.Write(CanCall);
buffer.WritePadBits(); buffer.WritePadBits();

View File

@@ -1,5 +1,6 @@
using Lidgren.Network; using Lidgren.Network;
using Robust.Shared.Network; using Robust.Shared.Network;
using Robust.Shared.Serialization;
namespace Content.Shared.Voting namespace Content.Shared.Voting
{ {
@@ -17,7 +18,7 @@ namespace Content.Shared.Voting
public bool IsYourVoteDirty; public bool IsYourVoteDirty;
public byte? YourVote; public byte? YourVote;
public override void ReadFromBuffer(NetIncomingMessage buffer) public override void ReadFromBuffer(NetIncomingMessage buffer, IRobustSerializer serializer)
{ {
VoteId = buffer.ReadVariableInt32(); VoteId = buffer.ReadVariableInt32();
VoteActive = buffer.ReadBoolean(); VoteActive = buffer.ReadBoolean();
@@ -44,7 +45,7 @@ namespace Content.Shared.Voting
} }
} }
public override void WriteToBuffer(NetOutgoingMessage buffer) public override void WriteToBuffer(NetOutgoingMessage buffer, IRobustSerializer serializer)
{ {
buffer.WriteVariableInt32(VoteId); buffer.WriteVariableInt32(VoteId);
buffer.Write(VoteActive); buffer.Write(VoteActive);