コード例 #1
0
 public byte[] Serialize <T>(T obj, int minBufferSize = 4096)
 {
     byte[] buffer = JT809ArrayPool.Rent(minBufferSize);
     try
     {
         JT809MessagePackWriter jT809MessagePackWriter = new JT809MessagePackWriter(buffer);
         JT809MessagePackFormatterExtensions.GetFormatter <T>().Serialize(ref jT809MessagePackWriter, obj, jT809Config);
         return(jT809MessagePackWriter.FlushAndGetEncodingArray());
     }
     finally
     {
         JT809ArrayPool.Return(buffer);
     }
 }
コード例 #2
0
 public T Deserialize <T>(ReadOnlySpan <byte> bytes, int minBufferSize = 4096)
 {
     byte[] buffer = JT809ArrayPool.Rent(minBufferSize);
     try
     {
         JT809MessagePackReader jT809MessagePackReader = new JT809MessagePackReader(bytes);
         if (CheckPackageType(typeof(T)))
         {
             jT809MessagePackReader.Decode(buffer);
         }
         return(JT809MessagePackFormatterExtensions.GetFormatter <T>().Deserialize(ref jT809MessagePackReader, jT809Config));
     }
     finally
     {
         JT809ArrayPool.Return(buffer);
     }
 }