[][src]Struct sequoia_openpgp::packet::CompressedData

pub struct CompressedData { /* fields omitted */ }

Holds a compressed data packet.

A compressed data packet is a container. See Section 5.6 of RFC 4880 for details.

When the parser encounters a compressed data packet with an unknown compress algorithm, it returns an Unknown packet instead of a CompressedData packet.


impl CompressedData[src]

pub fn new(algo: CompressionAlgorithm) -> Self[src]

Returns a new CompressedData packet.

pub fn algo(&self) -> CompressionAlgorithm[src]

Gets the compression algorithm.

pub fn set_algo(&mut self, algo: CompressionAlgorithm) -> CompressionAlgorithm[src]

Sets the compression algorithm.

impl CompressedData[src]

This packet implements the container interface.

Container packets can contain other packets, unprocessed data, or both.

pub fn body(&self) -> &[u8][src]

Gets a reference to the this packet's body.

pub fn body_mut(&mut self) -> &mut Vec<u8>[src]

Gets a mutable reference to the this packet's body.

pub fn set_body(&mut self, data: Vec<u8>) -> Vec<u8>[src]

Sets the this packet's body.

pub fn children_ref(&self) -> &[Packet][src]

Returns a reference to this Packet's children.

pub fn children_mut(&mut self) -> &mut Vec<Packet>[src]

Returns a mutable reference to this Packet's children.

pub fn children<'a>(&'a self) -> impl Iterator<Item = &'a Packet>[src]

Returns an iterator over the packet's immediate children.

Important traits for Iter<'a>
pub fn descendants(&self) -> Iter[src]

Returns an iterator over all of the packet's descendants, in depth-first order.

Trait Implementations

impl Serialize for CompressedData[src]

fn serialize(&self, o: &mut dyn Write) -> Result<()>[src]

Writes a serialized version of the specified CompressedData packet to o.

This function works recursively: if the CompressedData packet contains any packets, they are also serialized.

fn export(&self, o: &mut dyn Write) -> Result<()>[src]

Exports a serialized version of the object to o. Read more

impl SerializeInto for CompressedData[src]

fn serialized_len(&self) -> usize[src]

Computes the maximal length of the serialized representation.

The size of the serialized compressed data packet is tricky to predict. First, it depends on the data being compressed. Second, we emit partial body encoded data.

This function tries overestimates the length. However, it may happen that serialize_into() fails.


If serialization would fail, this function returns 0.

fn to_vec(&self) -> Result<Vec<u8>>[src]

Serializes the packet to a vector.

fn export_into(&self, buf: &mut [u8]) -> Result<usize>[src]

Exports into the given buffer. Read more

fn export_to_vec(&self) -> Result<Vec<u8>>[src]

Exports to a vector. Read more

impl<'a> Parse<'a, CompressedData> for CompressedData[src]

fn from_file<P: AsRef<Path>>(path: P) -> Result<T>[src]

Reads from the given file. Read more

fn from_bytes<D: AsRef<[u8]> + ?Sized>(data: &'a D) -> Result<T>[src]

Reads from the given slice. Read more

impl From<CompressedData> for Packet[src]

impl Eq for CompressedData[src]

impl PartialEq<CompressedData> for CompressedData[src]

fn ne(&self, other: &Rhs) -> bool

This method tests for !=.

impl Clone for CompressedData[src]

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more

impl Hash for CompressedData[src]

fn hash_slice<H>(data: &[Self], state: &mut H) where
    H: Hasher

Feeds a slice of this type into the given [Hasher]. Read more

impl Debug for CompressedData[src]

Auto Trait Implementations

Blanket Implementations

impl<T> From for T[src]

impl<T, U> Into for T where
    U: From<T>, 

impl<T> ToOwned for T where
    T: Clone

type Owned = T

impl<T, U> TryFrom for T where
    U: Into<T>, 

type Error = Infallible

The type returned in the event of a conversion error.

impl<T> Borrow for T where
    T: ?Sized

impl<T> BorrowMut for T where
    T: ?Sized

impl<T> Any for T where
    T: 'static + ?Sized

impl<T, U> TryInto for T where
    U: TryFrom<T>, 

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.

impl<V, T> VZip for T where
    V: MultiLane<T>,