19 using System.Collections.Generic;
23 using System.IO.Compression;
29 public override byte[]
Compress(
byte[] uncompressedData)
31 MemoryStream outStream =
new MemoryStream();
34 new DeflateStream(outStream,
35 CompressionMode.Compress))
37 Compress.Write(uncompressedData, 0, uncompressedData.Length);
39 return outStream.ToArray();
44 MemoryStream inStream =
new MemoryStream(compressedData);
45 MemoryStream outStream =
new MemoryStream();
48 new DeflateStream(inStream,
49 CompressionMode.Decompress))
53 return outStream.ToArray();
56 private static void CopyTo(Stream from, Stream to)
58 byte[] buffer =
new byte[4096];
60 while((read = from.Read(buffer, 0, buffer.Length)) != 0)
62 to.Write(buffer, 0, read);
71 public override bool Equals(
object other)
75 return (this.GetType().Name == other.GetType().Name);
override int GetHashCode()
Codecs must implement a HashCode() method that is consistent with Equals
override string GetName()
Name of this codec type
override bool Equals(object other)
Codecs must implement an equals() method
const int DeflateCodecHash
override byte [] Compress(byte[] uncompressedData)
Compress data using implemented codec
const string DeflateCodec
override byte [] Decompress(byte[] compressedData)
Decompress data using implemented codec