From 172e5df6a343402042c613b1024739e700756014 Mon Sep 17 00:00:00 2001 From: Justus Winter Date: Fri, 3 Apr 2020 15:22:35 +0200 Subject: openpgp: Rename. --- openpgp/src/serialize/stream.rs | 7 +- openpgp/src/serialize/stream/padding.rs | 3 +- .../serialize/stream/writer/compression_common.rs | 82 ---------------------- openpgp/src/serialize/stream/writer/mod.rs | 2 - .../src/serialize/stream/writer/writer_bzip2.rs | 3 +- .../src/serialize/stream/writer/writer_deflate.rs | 3 +- openpgp/src/types/compression_level.rs | 82 ++++++++++++++++++++++ openpgp/src/types/mod.rs | 2 + 8 files changed, 94 insertions(+), 90 deletions(-) delete mode 100644 openpgp/src/serialize/stream/writer/compression_common.rs create mode 100644 openpgp/src/types/compression_level.rs diff --git a/openpgp/src/serialize/stream.rs b/openpgp/src/serialize/stream.rs index 8f377334..2196f9d7 100644 --- a/openpgp/src/serialize/stream.rs +++ b/openpgp/src/serialize/stream.rs @@ -38,6 +38,7 @@ use super::{ use crate::types::{ AEADAlgorithm, CompressionAlgorithm, + CompressionLevel, DataFormat, SignatureType, SymmetricAlgorithm, @@ -775,7 +776,7 @@ impl<'a> writer::Stackable<'a, Cookie> for LiteralWriter<'a> { /// # } pub struct Compressor<'a> { algo: CompressionAlgorithm, - level: writer::CompressionLevel, + level: CompressionLevel, inner: writer::BoxStack<'a, Cookie>, } @@ -799,7 +800,7 @@ impl<'a> Compressor<'a> { } /// Sets the compression level. - pub fn level(mut self, level: writer::CompressionLevel) -> Self { + pub fn level(mut self, level: CompressionLevel) -> Self { self.level = level; self } @@ -822,7 +823,7 @@ impl<'a> Compressor<'a> { pub(crate) // For CompressedData::serialize. fn new_naked(mut inner: Message<'a, Cookie>, algo: CompressionAlgorithm, - compression_level: writer::CompressionLevel, + compression_level: CompressionLevel, level: usize) -> Result> { diff --git a/openpgp/src/serialize/stream/padding.rs b/openpgp/src/serialize/stream/padding.rs index 3b08aa50..dbc15800 100644 --- a/openpgp/src/serialize/stream/padding.rs +++ b/openpgp/src/serialize/stream/padding.rs @@ -57,6 +57,7 @@ use crate::serialize::{ }; use crate::types::{ CompressionAlgorithm, + CompressionLevel, }; /// Pads a packet stream. @@ -150,7 +151,7 @@ impl<'a, P: Fn(u64) -> u64 + 'a> Padder<'a, P> { // Create an appropriate filter. let inner: Message<'a, Cookie> = writer::ZIP::new(inner, Cookie::new(level), - writer::CompressionLevel::none()); + CompressionLevel::none()); Ok(Message::from(Box::new(Self { inner: inner.into(), diff --git a/openpgp/src/serialize/stream/writer/compression_common.rs b/openpgp/src/serialize/stream/writer/compression_common.rs deleted file mode 100644 index 7ac32d31..00000000 --- a/openpgp/src/serialize/stream/writer/compression_common.rs +++ /dev/null @@ -1,82 +0,0 @@ -//! Common code for the compression writers. - -use crate::{ - Error, - Result, -}; - -/// Compression level. -/// -/// This value is used by the encoders to tune their compression -/// strategy. The level is restricted to levels commonly used by -/// compression libraries, `0` to `9`, where `0` means no compression, -/// `1` means fastest compression, `6` being a good default, and -/// meaning `9` best compression. -#[derive(Copy, Clone, Debug, PartialEq, Eq, PartialOrd, Ord, Hash)] -pub struct CompressionLevel(u8); - -impl Default for CompressionLevel { - fn default() -> Self { - Self(6) - } -} - -impl CompressionLevel { - /// Creates a new compression level. - /// - /// `level` must be in range `0..10`, where `0` means no - /// compression, `1` means fastest compression, `6` being a good - /// default, and meaning `9` best compression. - pub fn new(level: u8) -> Result { - if level < 10 { - Ok(Self(level)) - } else { - Err(Error::InvalidArgument( - format!("compression level out of range: {}", level)).into()) - } - } - - /// No compression. - pub fn none() -> CompressionLevel { - Self(0) - } - - /// Fastest compression. - pub fn fastest() -> CompressionLevel { - Self(1) - } - /// Best compression. - pub fn best() -> CompressionLevel { - Self(9) - } -} - -#[cfg(feature = "compression-deflate")] -mod into_deflate_compression { - use flate2::Compression; - use super::*; - - impl From for Compression { - fn from(l: CompressionLevel) -> Self { - Compression::new(l.0 as u32) - } - } -} - -#[cfg(feature = "compression-bzip2")] -mod into_bzip2_compression { - use bzip2::Compression; - use super::*; - - impl From for Compression { - fn from(l: CompressionLevel) -> Self { - if l <= CompressionLevel::fastest() { - Compression::Fastest - } else if l <= CompressionLevel::default() { - Compression::Default - } else { - Compression::Best - } - } - } -} diff --git a/openpgp/src/serialize/stream/writer/mod.rs b/openpgp/src/serialize/stream/writer/mod.rs index 1006f0f5..44751c3f 100644 --- a/openpgp/src/serialize/stream/writer/mod.rs +++ b/openpgp/src/serialize/stream/writer/mod.rs @@ -8,8 +8,6 @@ pub use self::writer_bzip2::BZ; mod writer_deflate; #[cfg(feature = "compression-deflate")] pub use self::writer_deflate::{ZIP, ZLIB}; -mod compression_common; -pub use compression_common::CompressionLevel; use std::fmt; use std::io; diff --git a/openpgp/src/serialize/stream/writer/writer_bzip2.rs b/openpgp/src/serialize/stream/writer/writer_bzip2.rs index 1f5b6cdf..28401550 100644 --- a/openpgp/src/serialize/stream/writer/writer_bzip2.rs +++ b/openpgp/src/serialize/stream/writer/writer_bzip2.rs @@ -3,7 +3,8 @@ use std::fmt; use std::io; use crate::Result; -use super::{Generic, Message, BoxStack, Stackable, CompressionLevel}; +use crate::types::CompressionLevel; +use super::{Generic, Message, BoxStack, Stackable}; /// BZing writer. pub struct BZ<'a, C: 'a> { diff --git a/openpgp/src/serialize/stream/writer/writer_deflate.rs b/openpgp/src/serialize/stream/writer/writer_deflate.rs index b2cdd74f..b6e1116a 100644 --- a/openpgp/src/serialize/stream/writer/writer_deflate.rs +++ b/openpgp/src/serialize/stream/writer/writer_deflate.rs @@ -3,7 +3,8 @@ use std::fmt; use std::io; use crate::Result; -use super::{Generic, Message, BoxStack, Stackable, CompressionLevel}; +use crate::types::CompressionLevel; +use super::{Generic, Message, BoxStack, Stackable}; /// ZIPing writer. pub struct ZIP<'a, C: 'a> { diff --git a/openpgp/src/types/compression_level.rs b/openpgp/src/types/compression_level.rs new file mode 100644 index 00000000..7ac32d31 --- /dev/null +++ b/openpgp/src/types/compression_level.rs @@ -0,0 +1,82 @@ +//! Common code for the compression writers. + +use crate::{ + Error, + Result, +}; + +/// Compression level. +/// +/// This value is used by the encoders to tune their compression +/// strategy. The level is restricted to levels commonly used by +/// compression libraries, `0` to `9`, where `0` means no compression, +/// `1` means fastest compression, `6` being a good default, and +/// meaning `9` best compression. +#[derive(Copy, Clone, Debug, PartialEq, Eq, PartialOrd, Ord, Hash)] +pub struct CompressionLevel(u8); + +impl Default for CompressionLevel { + fn default() -> Self { + Self(6) + } +} + +impl CompressionLevel { + /// Creates a new compression level. + /// + /// `level` must be in range `0..10`, where `0` means no + /// compression, `1` means fastest compression, `6` being a good + /// default, and meaning `9` best compression. + pub fn new(level: u8) -> Result { + if level < 10 { + Ok(Self(level)) + } else { + Err(Error::InvalidArgument( + format!("compression level out of range: {}", level)).into()) + } + } + + /// No compression. + pub fn none() -> CompressionLevel { + Self(0) + } + + /// Fastest compression. + pub fn fastest() -> CompressionLevel { + Self(1) + } + /// Best compression. + pub fn best() -> CompressionLevel { + Self(9) + } +} + +#[cfg(feature = "compression-deflate")] +mod into_deflate_compression { + use flate2::Compression; + use super::*; + + impl From for Compression { + fn from(l: CompressionLevel) -> Self { + Compression::new(l.0 as u32) + } + } +} + +#[cfg(feature = "compression-bzip2")] +mod into_bzip2_compression { + use bzip2::Compression; + use super::*; + + impl From for Compression { + fn from(l: CompressionLevel) -> Self { + if l <= CompressionLevel::fastest() { + Compression::Fastest + } else if l <= CompressionLevel::default() { + Compression::Default + } else { + Compression::Best + } + } + } +} diff --git a/openpgp/src/types/mod.rs b/openpgp/src/types/mod.rs index a2b38f65..2596159a 100644 --- a/openpgp/src/types/mod.rs +++ b/openpgp/src/types/mod.rs @@ -12,6 +12,8 @@ use quickcheck::{Arbitrary, Gen}; use crate::Error; use crate::Result; +mod compression_level; +pub use compression_level::CompressionLevel; mod features; pub use self::features::Features; mod key_flags; -- cgit v1.2.3