Exemple #1
0
        public static byte[] Compress(Stream stream, Method method)
        {
            var methodAndSize = (uint)stream.Length << 3;

            using (var ms = new MemoryStream())
            {
                switch (method)
                {
                case Method.LZ10:
                    methodAndSize |= 0x1;
                    using (var bw = new ImprovedBinaryWriter(ms))
                    {
                        bw.Write(methodAndSize);
                        var data = LZ10.Compress(stream);
                        bw.Write(data);
                        return(ms.ToArray());
                    }

                default:
                    throw new InvalidDataException("Invalid method specified.");
                }
            }
        }