Make RobustMappedStringSerializer use NetSerializer's string serialization code again.

It's much more efficient, especially after more optimizations I just made to it.
This commit is contained in:
Pieter-Jan Briers
2020-07-30 15:05:01 +02:00
parent 380432a1f1
commit 3cc092f9ee

View File

@@ -1178,10 +1178,8 @@ namespace Robust.Shared.Serialization
// indicate not mapped
WriteCompressedUnsignedInt(stream, UnmappedString);
var buf = Encoding.UTF8.GetBytes(value);
//Logger.DebugS("szr", $"Encoded unmapped string: {value}");
WriteCompressedUnsignedInt(stream, (uint) buf.Length);
stream.Write(buf);
Primitives.WritePrimitive(stream, value);
}
/// <summary>
@@ -1224,13 +1222,7 @@ namespace Robust.Shared.Serialization
if (mapIndex == UnmappedString)
{
// not mapped
var length = checked((int)ReadCompressedUnsignedInt(stream, out _));
// ReSharper disable once SuggestVarOrType_Elsewhere
Span<byte> buf = stackalloc byte[length];
stream.Read(buf);
value = Encoding.UTF8.GetString(buf);
//Logger.DebugS("szr", $"Decoded unmapped string: {value}");
Primitives.ReadPrimitive(stream, out value);
return;
}