Enum sequoia_openpgp::parse::PacketParserResult

source ·
pub enum PacketParserResult<'a> {
    Some(PacketParser<'a>),
    EOF(PacketParserEOF<'a>),
}
Expand description

The result of parsing a packet.

This type is returned by PacketParser::next, PacketParser::recurse, PacketParserBuilder::build, and the implementation of PacketParser’s Parse trait. The result is either Some(PacketParser), indicating successful parsing of a packet, or EOF(PacketParserEOF) if the end of the input stream has been reached.

Variants§

§

Some(PacketParser<'a>)

A PacketParser for the next packet.

§

EOF(PacketParserEOF<'a>)

Information about a fully parsed packet sequence.

Implementations§

source§

impl<'a> PacketParserResult<'a>

source

pub fn is_eof(&self) -> bool

Returns true if the result is EOF.

source

pub fn is_some(&self) -> bool

Returns true if the result is Some.

source

pub fn expect(self, msg: &str) -> PacketParser<'a>

Unwraps a result, yielding the content of an Some.

§Panics

Panics if the value is an EOF, with a panic message including the passed message, and the information in the PacketParserEOF object.

source

pub fn unwrap(self) -> PacketParser<'a>

Unwraps a result, yielding the content of an Some.

§Panics

Panics if the value is an EOF, with a panic message including the information in the PacketParserEOF object.

source

pub fn as_ref(&self) -> StdResult<&PacketParser<'a>, &PacketParserEOF<'_>>

Converts from PacketParserResult to Result<&PacketParser, &PacketParserEOF>.

Produces a new Result, containing references into the original PacketParserResult, leaving the original in place.

source

pub fn as_mut( &mut self ) -> StdResult<&mut PacketParser<'a>, &mut PacketParserEOF<'a>>

Converts from PacketParserResult to Result<&mut PacketParser, &mut PacketParserEOF>.

Produces a new Result, containing mutable references into the original PacketParserResult, leaving the original in place.

source

pub fn take(&mut self) -> Self

Takes the value out of the PacketParserResult, leaving a EOF in its place.

The EOF left in place carries a PacketParserEOF with default values.

source

pub fn map<U, F>(self, f: F) -> StdResult<U, PacketParserEOF<'a>>
where F: FnOnce(PacketParser<'a>) -> U,

Maps a PacketParserResult to Result<PacketParser, PacketParserEOF> by applying a function to a contained Some value, leaving an EOF value untouched.

Trait Implementations§

source§

impl<'a> Debug for PacketParserResult<'a>

source§

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

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

impl<'a> From<PacketParserResult<'a>> for CertParser<'a>

source§

fn from(ppr: PacketParserResult<'a>) -> Self

Initializes a CertParser from a PacketParser.

source§

impl<'a> Parse<'a, PacketParserResult<'a>> for PacketParser<'a>

source§

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

Starts parsing an OpenPGP object stored in a BufferedReader object.

This function returns a PacketParser for the first packet in the stream.

source§

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

Starts parsing an OpenPGP message stored in a std::io::Read object.

This function returns a PacketParser for the first packet in the stream.

source§

fn from_file<P: AsRef<Path>>(path: P) -> Result<PacketParserResult<'a>>

Starts parsing an OpenPGP message stored in a file named path.

This function returns a PacketParser for the first packet in the stream.

source§

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

Starts parsing an OpenPGP message stored in a buffer.

This function returns a PacketParser for the first packet in the stream.

source§

impl TryFrom<PacketParserResult<'_>> for Cert

source§

fn try_from(ppr: PacketParserResult<'_>) -> Result<Self>

Returns the Cert found in the packet stream.

If the sequence contains multiple certificates (i.e., it is a keyring), or the certificate is followed by an invalid packet this function will fail. To parse keyrings, use CertParser instead of this function.

§

type Error = Error

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

impl<'a> TryFrom<PacketParserResult<'a>> for PacketPile

source§

fn try_from(ppr: PacketParserResult<'a>) -> Result<PacketPile>

Reads all of the packets from a PacketParser, and turns them into a message.

Note: this assumes that ppr points to a top-level packet.

§

type Error = Error

The type returned in the event of a conversion error.

Auto Trait Implementations§

§

impl<'a> !Freeze for PacketParserResult<'a>

§

impl<'a> !RefUnwindSafe for PacketParserResult<'a>

§

impl<'a> Send for PacketParserResult<'a>

§

impl<'a> Sync for PacketParserResult<'a>

§

impl<'a> Unpin for PacketParserResult<'a>

§

impl<'a> !UnwindSafe for PacketParserResult<'a>

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> 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, 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.