using MessagePack; using System; using System.Buffers; namespace Server { public static class MessageHelper { public static T MessagePackDeserialize(ReadOnlyMemory buffer) { return MessagePack.MessagePackSerializer.Deserialize(buffer); } public static byte[] MessagePackSerialize(T obj) { return MessagePack.MessagePackSerializer.Serialize(obj); } public static byte[] MessagePackSerialize(byte byteType, T data) { ArrayBufferWriter arrayBufferWriter = new ArrayBufferWriter(); arrayBufferWriter.GetSpan(1)[0] = byteType; arrayBufferWriter.Advance(1); MessagePackSerializer.Serialize(arrayBufferWriter, data); return arrayBufferWriter.WrittenSpan.ToArray(); } } }