public static T Deserialize <T>(byte[] data, [NotNull] MsgPackContext context) { var reader = new MsgPackByteArrayReader(data); var converter = GetConverter <T>(context); return(converter.Read(reader)); }
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)); } }
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); } }
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); }
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()); } }
public static T Deserialize <T>(MsgPackToken token, [NotNull] MsgPackContext context) { return(Deserialize <T>(token.RawBytes, context)); }
public static MsgPackToken SerializeToToken <T>(T data, [NotNull] MsgPackContext context) { return(new MsgPackToken(context, Serialize(data, context))); }
private MsgPackToken(ulong?value, MsgPackContext context = null) { _context = context; RawBytes = MsgPackSerializer.Serialize(value, _context ?? DefaultContext); }
public MsgPackToken(Dictionary <MsgPackToken, MsgPackToken> value, MsgPackContext context = null) { _context = context; RawBytes = MsgPackSerializer.Serialize(value, _context ?? DefaultContext); }
public MsgPackToken(MsgPackToken[] value, MsgPackContext context = null) { _context = context; RawBytes = MsgPackSerializer.Serialize(value, _context ?? DefaultContext); }
public MsgPackToken(MsgPackContext context, byte[] rawBytes) { RawBytes = rawBytes; _context = context; }