Ejemplo n.º 1
0
        public static ArraySegment <Byte> SerializeToMessagePackMap <K0, T0, K1, T1>(this TypeRegistry r
                                                                                     , K0 key0, T0 value0
                                                                                     , K1 key1, T1 value1
                                                                                     )
        {
            var f = new MessagePackFormatter();

            f.BeginMap(2);
            r.GetSerializer <K0>().Serialize(key0, f);
            r.GetSerializer <T0>().Serialize(value0, f);
            r.GetSerializer <K1>().Serialize(key1, f);
            r.GetSerializer <T1>().Serialize(value1, f);
            f.EndMap();

            return(f.GetStore().Bytes);
        }
Ejemplo n.º 2
0
        public void map16()
        {
            var w    = new MessagePackFormatter();;
            int size = 18;

            w.BeginMap(size);
            for (int i = 0; i < size; ++i)
            {
                w.Value(i);
                w.Value(i + 5);
            }
            var bytes = w.GetStore().Bytes.ToEnumerable().ToArray();

            Assert.AreEqual(
                new Byte[] { 0xde, 0x0, 0x12, 0x0, 0x5, 0x1, 0x6, 0x2, 0x7, 0x3, 0x8, 0x4, 0x9, 0x5, 0xa, 0x6, 0xb, 0x7, 0xc, 0x8, 0xd, 0x9, 0xe, 0xa, 0xf, 0xb, 0x10, 0xc,
                             0x11, 0xd, 0x12, 0xe, 0x13, 0xf, 0x14, 0x10, 0x15, 0x11, 0x16 },
                bytes);


            var value = MessagePackParser.Parse(bytes);

            Assert.AreEqual(15, value.GetValueByIntKey(10).GetInt32());
        }