Beispiel #1
0
        //[TestCase(PgpCompressionAlgorithm.BZip2)]
        public void TestCompression(PgpCompressionAlgorithm type)
        {
            using MemoryStream bOut = new MemoryStream();

            // Compress data
            var messageGenerator = new PgpMessageGenerator(bOut);

            using (var compressedGenerator = messageGenerator.CreateCompressed(type))
                using (var literalStream = compressedGenerator.CreateLiteral(PgpDataFormat.Binary, "", DateTime.UtcNow))
                    literalStream.Write(Data);

            // Read it back
            bOut.Position = 0;
            var compressedMessage = (PgpCompressedMessage)PgpMessage.ReadMessage(bOut);
            var literalMessage    = (PgpLiteralMessage)compressedMessage.ReadMessage();

            byte[] bytes = Streams.ReadAll(literalMessage.GetStream());
            Assert.That(bytes, Is.EqualTo(Data));
        }
        public PgpCompressedMessageGenerator(
            IPacketWriter packetWriter,
            PgpCompressionAlgorithm algorithm,
            CompressionLevel compressionLevel = CompressionLevel.Optimal)
            : base(packetWriter)
        {
            switch (algorithm)
            {
            case PgpCompressionAlgorithm.Uncompressed:
            case PgpCompressionAlgorithm.Zip:
            case PgpCompressionAlgorithm.ZLib:
                //case CompressionAlgorithmTag.BZip2:
                break;

            default:
                throw new ArgumentException("unknown compression algorithm", nameof(algorithm));
            }

            this.algorithm        = algorithm;
            this.compressionLevel = compressionLevel;
        }
 internal CompressedDataPacket(Stream bcpgIn)
 {
     this.algorithm = (PgpCompressionAlgorithm)bcpgIn.ReadByte();
 }
 public CompressedDataPacket(PgpCompressionAlgorithm algorithm)
 {
     this.algorithm = algorithm;
 }
Beispiel #5
0
 public PgpMessageGenerator CreateCompressed(PgpCompressionAlgorithm algorithm, CompressionLevel compressionLevel = CompressionLevel.Optimal)
 {
     return(new PgpCompressedMessageGenerator(Open(), algorithm, compressionLevel));
 }