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>
impl<'a> PacketParserResult<'a>
sourcepub fn expect(self, msg: &str) -> PacketParser<'a> ⓘ
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.
sourcepub fn unwrap(self) -> PacketParser<'a> ⓘ
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.
sourcepub fn as_ref(&self) -> StdResult<&PacketParser<'a>, &PacketParserEOF<'_>>
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.
sourcepub fn as_mut(
&mut self,
) -> StdResult<&mut PacketParser<'a>, &mut PacketParserEOF<'a>>
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.
sourcepub fn take(&mut self) -> Self
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.
sourcepub fn map<U, F>(self, f: F) -> StdResult<U, PacketParserEOF<'a>>where
F: FnOnce(PacketParser<'a>) -> U,
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>
impl<'a> Debug for PacketParserResult<'a>
source§impl<'a> From<PacketParserResult<'a>> for CertParser<'a>
impl<'a> From<PacketParserResult<'a>> for CertParser<'a>
source§fn from(ppr: PacketParserResult<'a>) -> Self
fn from(ppr: PacketParserResult<'a>) -> Self
Initializes a CertParser
from a PacketParser
.
source§impl<'a> Parse<'a, PacketParserResult<'a>> for PacketParser<'a>
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,
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>>
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§impl TryFrom<PacketParserResult<'_>> for Cert
impl TryFrom<PacketParserResult<'_>> for Cert
source§fn try_from(ppr: PacketParserResult<'_>) -> Result<Self>
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.
source§impl<'a> TryFrom<PacketParserResult<'a>> for PacketPile
impl<'a> TryFrom<PacketParserResult<'a>> for PacketPile
source§fn try_from(ppr: PacketParserResult<'a>) -> Result<PacketPile>
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.