[][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 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>

Important traits for PacketIter<'a>
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>)[src]

Sets the packet's body.

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

Trait Implementations

impl Serialize for CompressedData[src]

fn serialize<W: Write>(&self, o: &mut W) -> 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.

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

Serializes the packet to a vector.

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(data: &'a [u8]) -> 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]

impl Clone for CompressedData[src]

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

Performs copy-assignment from source. Read more

impl<'a> Deref for CompressedData[src]

type Target = Common

The resulting type after dereferencing.

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<'a> DerefMut for CompressedData[src]

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.