Esempio n. 1
0
 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);
 }
Esempio n. 2
0
        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);
        }
Esempio n. 3
0
        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();
        }