BB.Caching.Compression.SmartCompressor.CompressAsync C# (CSharp) Method

CompressAsync() public method

Compresses a byte array.
public CompressAsync ( byte value ) : Task
value byte /// The value. ///
return Task
        public async Task<byte[]> CompressAsync(byte[] value)
        {
            byte[] compressed = await GZipCompressor.Instance.CompressAsync(value);
            if (compressed.Length < value.Length)
            {
                byte[] fin = new byte[compressed.Length + 1];
                using (MemoryStream ms = new MemoryStream(fin))
                {
                    await ms.WriteAsync(new byte[] { 1 }, 0, 1);
                    await ms.WriteAsync(compressed, 0, compressed.Length);
                    return ms.ToArray();
                }
            }
            else
            {
                byte[] fin = new byte[value.Length + 1];
                using (MemoryStream ms = new MemoryStream(fin))
                {
                    await ms.WriteAsync(new byte[] { 0 }, 0, 1);
                    await ms.WriteAsync(value, 0, value.Length);
                    return ms.ToArray();
                }
            }
        }

Same methods

SmartCompressor::CompressAsync ( string value ) : Task