[][src]Struct sequoia_openpgp::packet::prelude::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 algorithm(&self) -> CompressionAlgorithm[src]

Gets the compression algorithm.

pub fn set_algorithm(
    &mut self,
    algo: CompressionAlgorithm
) -> CompressionAlgorithm

Sets the compression algorithm.

pub fn push(self, packet: Packet) -> Self[src]

Adds a new packet to the container.

pub fn insert(self, i: usize, packet: Packet) -> Self[src]

Inserts a new packet to the container at a particular index. If i is 0, the new packet is insert at the front of the container. If i is one, it is inserted after the first packet, etc.

Methods from Deref<Target = Common>

pub fn descendants(&self) -> PacketIter[src]

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

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

Retrieves the packet's body.

Packets can store a sequence of bytes as body, e.g. if the maximum recursion level is reached while parsing a sequence of packets, the container's body is stored as is.

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

Sets the packet's body.

Setting the body clears the old body, or any of the packet's descendants.

Trait Implementations

impl Clone for CompressedData[src]

impl Debug for CompressedData[src]

impl<'a> Deref for CompressedData[src]

type Target = Common

The resulting type after dereferencing.

impl<'a> DerefMut for CompressedData[src]

impl Eq for CompressedData[src]

impl From<CompressedData> for Packet[src]

impl Hash for CompressedData[src]

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

impl PartialEq<CompressedData> for CompressedData[src]

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.

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.

impl StructuralEq for CompressedData[src]

impl StructuralPartialEq for CompressedData[src]

Auto Trait Implementations

Blanket Implementations

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

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

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

impl<T> From<T> for T[src]

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

impl<T> ToOwned for T where
    T: Clone

type Owned = T

The resulting type after obtaining ownership.

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

type Error = Infallible

The type returned in the event of a conversion error.

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

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

The type returned in the event of a conversion error.