private void DecompressPayload() { if (_payload_compressed.Length == 0) { return; } byte[] decompressed = Flags.HasFlag(MessageFlags.Compressed) ? _payload_compressed.DecompressLz4(PayloadMaxSize) : _payload_compressed; Payload = ReflectionCache <MessageCommand> .CreateSerializable(Command, decompressed); }
public static ConsensusMessage DeserializeFrom(byte[] data) { ConsensusMessageType type = (ConsensusMessageType)data[0]; ISerializable message = ReflectionCache <ConsensusMessageType> .CreateSerializable(type, data); if (message is null) { throw new FormatException(); } return((ConsensusMessage)message); }
public void TestCreateSerializable() { object item1 = ReflectionCache <MyTestEnum> .CreateSerializable(MyTestEnum.Item1, new byte[0]); (item1 is TestItem1).Should().BeTrue(); object item2 = ReflectionCache <MyTestEnum> .CreateSerializable(MyTestEnum.Item2, new byte[0]); (item2 is TestItem2).Should().BeTrue(); object item3 = ReflectionCache <MyTestEnum> .CreateSerializable((MyTestEnum)0x02, new byte[0]); item3.Should().BeNull(); }