コード例 #1
0
        public static T Deserialize <T>(byte[] data, [NotNull] MsgPackContext context)
        {
            var reader    = new MsgPackByteArrayReader(data);
            var converter = GetConverter <T>(context);

            return(converter.Read(reader));
        }
コード例 #2
0
 public static T Deserialize <T>(MemoryStream stream, [NotNull] MsgPackContext context)
 {
     using (var reader = new MsgPackMemoryStreamReader(stream, false))
     {
         var converter = GetConverter <T>(context);
         return(converter.Read(reader));
     }
 }
コード例 #3
0
 public static void Serialize <T>(T data, MemoryStream stream, [NotNull] MsgPackContext context)
 {
     using (var writer = new MsgPackMemoryStreamWriter(stream, false))
     {
         var converter = GetConverter <T>(context);
         converter.Write(data, writer);
     }
 }
コード例 #4
0
        private static IMsgPackConverter <T> GetConverter <T>(MsgPackContext context)
        {
            var converter = context.GetConverter <T>();

            if (converter == null)
            {
                throw new SerializationException($"Provide converter for {typeof(T).Name}");
            }

            return(converter);
        }
コード例 #5
0
        public static byte[] Serialize <T>(T data, [NotNull] MsgPackContext context)
        {
            var memoryStream = new MemoryStream();

            using (var writer = new MsgPackMemoryStreamWriter(memoryStream))
            {
                var converter = GetConverter <T>(context);
                converter.Write(data, writer);
                return(memoryStream.ToArray());
            }
        }
コード例 #6
0
 public static T Deserialize <T>(MsgPackToken token, [NotNull] MsgPackContext context)
 {
     return(Deserialize <T>(token.RawBytes, context));
 }
コード例 #7
0
 public static MsgPackToken SerializeToToken <T>(T data, [NotNull] MsgPackContext context)
 {
     return(new MsgPackToken(context, Serialize(data, context)));
 }
コード例 #8
0
 private MsgPackToken(ulong?value, MsgPackContext context = null)
 {
     _context = context;
     RawBytes = MsgPackSerializer.Serialize(value, _context ?? DefaultContext);
 }
コード例 #9
0
 public MsgPackToken(Dictionary <MsgPackToken, MsgPackToken> value, MsgPackContext context = null)
 {
     _context = context;
     RawBytes = MsgPackSerializer.Serialize(value, _context ?? DefaultContext);
 }
コード例 #10
0
 public MsgPackToken(MsgPackToken[] value, MsgPackContext context = null)
 {
     _context = context;
     RawBytes = MsgPackSerializer.Serialize(value, _context ?? DefaultContext);
 }
コード例 #11
0
 public MsgPackToken(MsgPackContext context, byte[] rawBytes)
 {
     RawBytes = rawBytes;
     _context = context;
 }