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
sourceimpl 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
sourceimpl Clone for CompressionLevel
impl Clone for CompressionLevel
sourcefn clone(&self) -> CompressionLevel
fn clone(&self) -> CompressionLevel
Returns a copy of the value. Read more
1.0.0 · sourcefn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from source
. Read more
sourceimpl Debug for CompressionLevel
impl Debug for CompressionLevel
sourceimpl Default for CompressionLevel
impl Default for CompressionLevel
sourceimpl From<CompressionLevel> for Compression
impl From<CompressionLevel> for Compression
sourcefn from(l: CompressionLevel) -> Self
fn from(l: CompressionLevel) -> Self
Converts to this type from the input type.
sourceimpl From<CompressionLevel> for Compression
impl From<CompressionLevel> for Compression
sourcefn from(l: CompressionLevel) -> Self
fn from(l: CompressionLevel) -> Self
Converts to this type from the input type.
sourceimpl Hash for CompressionLevel
impl Hash for CompressionLevel
sourceimpl Ord for CompressionLevel
impl Ord for CompressionLevel
sourceimpl PartialEq<CompressionLevel> for CompressionLevel
impl PartialEq<CompressionLevel> for CompressionLevel
sourcefn 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 ==
. Read more
sourcefn ne(&self, other: &CompressionLevel) -> bool
fn ne(&self, other: &CompressionLevel) -> bool
This method tests for !=
.
sourceimpl PartialOrd<CompressionLevel> for CompressionLevel
impl PartialOrd<CompressionLevel> for CompressionLevel
sourcefn partial_cmp(&self, other: &CompressionLevel) -> Option<Ordering>
fn partial_cmp(&self, other: &CompressionLevel) -> Option<Ordering>
This method returns an ordering between self
and other
values if one exists. Read more
1.0.0 · sourcefn lt(&self, other: &Rhs) -> bool
fn lt(&self, other: &Rhs) -> bool
This method tests less than (for self
and other
) and is used by the <
operator. Read more
1.0.0 · sourcefn 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
impl Copy for CompressionLevel
impl Eq for CompressionLevel
impl StructuralEq for CompressionLevel
impl StructuralPartialEq for CompressionLevel
Auto Trait Implementations
impl RefUnwindSafe for CompressionLevel
impl Send for CompressionLevel
impl Sync for CompressionLevel
impl Unpin for CompressionLevel
impl UnwindSafe for CompressionLevel
Blanket Implementations
sourceimpl<T> BorrowMut<T> for T where
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
const: unstable · sourcefn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more