Struct sequoia_openpgp::packet::Literal

source ·
pub struct Literal { /* private fields */ }
Expand description

Holds a literal packet.

A literal packet contains unstructured data. Since the size can be very large, it is advised to process messages containing such packets using a PacketParser or a PacketPileParser and process the data in a streaming manner rather than the using the PacketPile::from_file and related interfaces.

See Section 5.9 of RFC 4880 for details.

Implementations§

source§

impl Literal

source

pub fn new(format: DataFormat) -> Literal

Returns a new Literal packet.

source

pub fn format(&self) -> DataFormat

Gets the Literal packet’s content disposition.

source

pub fn set_format(&mut self, format: DataFormat) -> DataFormat

Sets the Literal packet’s content disposition.

source

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

Gets the literal packet’s filename.

Note: when a literal data packet is protected by a signature, only the literal data packet’s body is protected, not the meta-data. As such, this field should normally be ignored.

source

pub fn set_filename<F>(&mut self, filename: F) -> Result<Option<Vec<u8>>>
where F: AsRef<[u8]>,

Sets the literal packet’s filename field.

The standard does not specify the encoding. Filenames must not be longer than 255 bytes.

Note: when a literal data packet is protected by a signature, only the literal data packet’s body is protected, not the meta-data. As such, this field should not be used.

source

pub fn date(&self) -> Option<SystemTime>

Gets the literal packet’s date field.

Note: when a literal data packet is protected by a signature, only the literal data packet’s body is protected, not the meta-data. As such, this field should normally be ignored.

source

pub fn set_date<T>(&mut self, timestamp: T) -> Result<Option<SystemTime>>
where T: Into<Option<SystemTime>>,

Sets the literal packet’s date field.

Note: when a literal data packet is protected by a signature, only the literal data packet’s body is protected, not the meta-data. As such, this field should not be used.

source§

impl Literal

This packet implements the unprocessed container interface.

Container packets like this one can contain unprocessed data.

source

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

Gets a reference to the this packet’s body.

source

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

Sets the this packet’s body.

Trait Implementations§

source§

impl Any<Literal> for Packet

source§

fn downcast(self) -> Result<Literal, Packet>

Attempts to downcast to T, returning the packet if it fails. Read more
source§

fn downcast_ref(&self) -> Option<&Literal>

Attempts to downcast to &T, returning None if it fails. Read more
source§

fn downcast_mut(&mut self) -> Option<&mut Literal>

Attempts to downcast to &mut T, returning None if it fails. Read more
source§

impl Clone for Literal

source§

fn clone(&self) -> Literal

Returns a copy of the value. Read more
1.0.0 · source§

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

Performs copy-assignment from source. Read more
source§

impl Debug for Literal

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Default for Literal

source§

fn default() -> Self

Returns the “default value” for a type. Read more
source§

impl From<Literal> for Packet

source§

fn from(s: Literal) -> Self

Converts to this type from the input type.
source§

impl Hash for Literal

source§

fn hash<__H: Hasher>(&self, state: &mut __H)

Feeds this value into the given Hasher. Read more
1.3.0 · source§

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

Feeds a slice of this type into the given Hasher. Read more
source§

impl IntoIterator for Literal

Implement IntoIterator so that cert::insert_packets(sig) just works.

§

type Item = Literal

The type of the elements being iterated over.
§

type IntoIter = Once<Literal>

Which kind of iterator are we turning this into?
source§

fn into_iter(self) -> Self::IntoIter

Creates an iterator from a value. Read more
source§

impl Marshal for Literal

source§

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

Writes a serialized version of the object to o.
source§

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

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

impl MarshalInto for Literal

source§

fn serialized_len(&self) -> usize

Computes the maximal length of the serialized representation. Read more
source§

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

Serializes into the given buffer. Read more
source§

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

Serializes the packet to a vector.
source§

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

Exports into the given buffer. Read more
source§

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

Exports to a vector. Read more
source§

impl<'a> Parse<'a, Literal> for Literal

source§

fn from_buffered_reader<R>(reader: R) -> Result<Self>
where R: BufferedReader<Cookie> + 'a,

Reads from the given buffered reader.
source§

fn from_reader<R: 'a + Read + Send + Sync>(reader: R) -> Result<Self>

Reads from the given reader.
source§

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

Reads from the given slice. Read more
source§

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

Reads from the given file. Read more
source§

impl PartialEq for Literal

source§

fn eq(&self, other: &Literal) -> bool

This method tests for self and other values to be equal, and is used by ==.
1.0.0 · source§

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

This method tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
source§

impl Eq for Literal

source§

impl StructuralPartialEq for Literal

Auto Trait Implementations§

Blanket Implementations§

source§

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

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

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

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

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

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> DynClone for T
where T: Clone,

source§

fn __clone_box(&self, _: Private) -> *mut ()

source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

source§

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

source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

source§

impl<T> Same for T

§

type Output = T

Should always be Self
source§

impl<T> ToOwned for T
where T: Clone,

§

type Owned = T

The resulting type after obtaining ownership.
source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
source§

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

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

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.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.