PacketCompress.cs 1.6 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546
  1. using System;
  2. using System.Collections.Generic;
  3. using System.IO;
  4. using System.IO.Compression;
  5. using System.Text;
  6. using MineCase.Serialization;
  7. namespace MineCase.Protocol
  8. {
  9. public static class PacketCompress
  10. {
  11. public static UncompressedPacket Decompress(ref CompressedPacket packet)
  12. {
  13. throw new NotImplementedException();
  14. /*
  15. var targetPacket = default(UncompressedPacket);
  16. using (var br = new BinaryReader(new DeflateStream(new MemoryStream(packet.CompressedData), CompressionMode.Decompress)))
  17. {
  18. targetPacket.PacketId = br.ReadAsVarInt(out var packetIdLen);
  19. targetPacket.Data = br.ReadBytes((int)packet.DataLength - packetIdLen);
  20. }
  21. targetPacket.Length = packet.DataLength;
  22. return targetPacket;*/
  23. }
  24. public static CompressedPacket Compress(ref UncompressedPacket packet)
  25. {
  26. throw new NotImplementedException();
  27. /*
  28. var targetPacket = default(CompressedPacket);
  29. using (var stream = new MemoryStream())
  30. using (var bw = new BinaryWriter(new DeflateStream(stream, CompressionMode.Compress)))
  31. {
  32. bw.WriteAsVarInt(packet.PacketId, out var packetIdLen);
  33. bw.Write(packet.Data);
  34. bw.Flush();
  35. targetPacket.DataLength = packetIdLen + (uint)packet.Data.Length;
  36. targetPacket.CompressedData = stream.ToArray();
  37. }
  38. return targetPacket;*/
  39. }
  40. }
  41. }