public void OldSpecBinary()
        {
            var referenceContext = new MsgPack.Serialization.SerializationContext(MsgPack.PackerCompatibilityOptions.Classic)
            {
                DefaultDateTimeConversionMethod = MsgPack.Serialization.DateTimeConversionMethod.Native,
            };

            var data = Enumerable.Range(0, 10000).Select(x => (byte)1).ToArray();

            MsgPack.Serialization.MessagePackSerializer <byte[]> serializer = referenceContext.GetSerializer <byte[]>();

            using (var sequence = new Sequence <byte>())
            {
                var oldSpecWriter = new MessagePackWriter(sequence)
                {
                    OldSpec = true
                };
                MessagePackSerializer.Serialize(ref oldSpecWriter, data);
                oldSpecWriter.Flush();
                var a = sequence.AsReadOnlySequence.ToArray();
                var b = serializer.PackSingleObject(data);

                a.Is(b);

                var oldSpecReader = new MessagePackReader(sequence.AsReadOnlySequence);
                var r1            = MessagePackSerializer.Deserialize <byte[]>(ref oldSpecReader);
                var r2            = serializer.UnpackSingleObject(b);

                r1.Is(r2);
            }
        }
        public void OldSpecString()
        {
            var referenceContext = new MsgPack.Serialization.SerializationContext(MsgPack.PackerCompatibilityOptions.Classic)
            {
                DefaultDateTimeConversionMethod = MsgPack.Serialization.DateTimeConversionMethod.Native,
            };

            var data = "あいうえおabcdefgかきくけこあいうえおabcdefgかきくけこあいうえおabcdefgかきくけこあいうえおabcdefgかきくけこ"; // Japanese

            MsgPack.Serialization.MessagePackSerializer <string> serializer = referenceContext.GetSerializer <string>();

            using (var sequence = new Sequence <byte>())
            {
                var oldSpecWriter = new MessagePackWriter(sequence)
                {
                    OldSpec = true
                };
                MessagePackSerializer.Serialize(ref oldSpecWriter, data);
                oldSpecWriter.Flush();
                var a = sequence.AsReadOnlySequence.ToArray();
                var b = serializer.PackSingleObject(data);

                a.Is(b);

                var oldSpecReader = new MessagePackReader(sequence.AsReadOnlySequence);
                var r1            = MessagePackSerializer.Deserialize <string>(ref oldSpecReader);
                var r2            = serializer.UnpackSingleObject(b);

                r1.Is(r2);
            }
        }
Beispiel #3
0
 public static IEnumerable <Tuple <Types.Outpoint, Types.Output> > Unpack(List <Tuple <byte[], byte[]> > list)
 {
     return(list.Select(t => new Tuple <Types.Outpoint, Types.Output>(
                            outpointSerializer.UnpackSingleObject(t.Item1),
                            outputSerializer.UnpackSingleObject(t.Item2))
                        ));
 }
        public void NativeDateTime()
        {
            var referenceContext = new MsgPack.Serialization.SerializationContext(MsgPack.PackerCompatibilityOptions.Classic)
            {
                DefaultDateTimeConversionMethod = MsgPack.Serialization.DateTimeConversionMethod.Native,
            };

            DateTime now = DateTime.Now;

            MsgPack.Serialization.MessagePackSerializer <DateTime> serializer = referenceContext.GetSerializer <DateTime>();

            var a = MessagePackSerializer.Serialize(now, NativeDateTimeResolver.Options);
            var b = serializer.PackSingleObject(now);

            a.Is(b);

            DateTime dt1 = MessagePackSerializer.Deserialize <DateTime>(a, NativeDateTimeResolver.Options);
            DateTime dt2 = serializer.UnpackSingleObject(b);

            dt1.Is(dt2);
        }