//[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; }
public PgpMessageGenerator CreateCompressed(PgpCompressionAlgorithm algorithm, CompressionLevel compressionLevel = CompressionLevel.Optimal) { return(new PgpCompressedMessageGenerator(Open(), algorithm, compressionLevel)); }