示例#1
0
        public CompressedStream(
            Stream baseStream,
            StreamOperationMode mode,
            CompressionSettings settings,
            bool useCrc32,
            EncryptionSettings encryptionSettings)
            : base(baseStream, mode)
        {
            baseStream = encryptionSettings != null ? (Stream) new CryptoStream(baseStream, mode, PlatformSettings.Manager.GetCryptoProvider(encryptionSettings)) : baseStream;
            ICompressionAlgorithm compressionAlgorithm = ZipHelper.GetCompressionAlgorithm(settings);
            IChecksumAlgorithm    checksumAlgorithm    = useCrc32 ? (IChecksumAlgorithm) new Crc32() : (IChecksumAlgorithm) new Adler32();

            this.Initialize(baseStream, compressionAlgorithm, checksumAlgorithm);
        }