Struct sequoia_openpgp::types::CompressionLevel
source · pub struct CompressionLevel(_);
Expand description
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.
Note that compression is dangerous when used naively.
To mitigate some of these issues messages should use padding.
Examples
Write a message using the given CompressionAlgorithm:
use sequoia_openpgp as openpgp;
use std::io::Write;
use openpgp::serialize::stream::{Message, Compressor, LiteralWriter};
use openpgp::serialize::stream::padding::Padder;
use openpgp::types::{CompressionAlgorithm, CompressionLevel};
let mut sink = Vec::new();
let message = Message::new(&mut sink);
let message = Compressor::new(message)
.algo(CompressionAlgorithm::Zlib)
.level(CompressionLevel::fastest())
.build()?;
let message = Padder::new(message).build()?;
let mut message = LiteralWriter::new(message).build()?;
message.write_all(b"Hello world.")?;
message.finalize()?;
Implementations§
source§impl CompressionLevel
impl CompressionLevel
sourcepub fn new(level: u8) -> Result<CompressionLevel>
pub fn new(level: u8) -> Result<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.
sourcepub fn none() -> CompressionLevel
pub fn none() -> CompressionLevel
No compression.
sourcepub fn fastest() -> CompressionLevel
pub fn fastest() -> CompressionLevel
Fastest compression.
sourcepub fn best() -> CompressionLevel
pub fn best() -> CompressionLevel
Best compression.
Trait Implementations§
source§impl Clone for CompressionLevel
impl Clone for CompressionLevel
source§fn clone(&self) -> CompressionLevel
fn clone(&self) -> CompressionLevel
Returns a copy of the value. Read more
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source
. Read moresource§impl Debug for CompressionLevel
impl Debug for CompressionLevel
source§impl Default for CompressionLevel
impl Default for CompressionLevel
source§impl From<CompressionLevel> for Compression
impl From<CompressionLevel> for Compression
source§fn from(l: CompressionLevel) -> Self
fn from(l: CompressionLevel) -> Self
Converts to this type from the input type.
source§impl From<CompressionLevel> for Compression
impl From<CompressionLevel> for Compression
source§fn from(l: CompressionLevel) -> Self
fn from(l: CompressionLevel) -> Self
Converts to this type from the input type.
source§impl Hash for CompressionLevel
impl Hash for CompressionLevel
source§impl Ord for CompressionLevel
impl Ord for CompressionLevel
source§fn cmp(&self, other: &CompressionLevel) -> Ordering
fn cmp(&self, other: &CompressionLevel) -> Ordering
1.21.0 · source§fn max(self, other: Self) -> Selfwhere
Self: Sized,
fn max(self, other: Self) -> Selfwhere
Self: Sized,
Compares and returns the maximum of two values. Read more
source§impl PartialEq<CompressionLevel> for CompressionLevel
impl PartialEq<CompressionLevel> for CompressionLevel
source§fn eq(&self, other: &CompressionLevel) -> bool
fn eq(&self, other: &CompressionLevel) -> bool
This method tests for
self
and other
values to be equal, and is used
by ==
.source§impl PartialOrd<CompressionLevel> for CompressionLevel
impl PartialOrd<CompressionLevel> for CompressionLevel
source§fn partial_cmp(&self, other: &CompressionLevel) -> Option<Ordering>
fn partial_cmp(&self, other: &CompressionLevel) -> Option<Ordering>
1.0.0 · source§fn le(&self, other: &Rhs) -> bool
fn le(&self, other: &Rhs) -> bool
This method tests less than or equal to (for
self
and other
) and is used by the <=
operator. Read more