Struct pem_rfc7468::Decoder
source · pub struct Decoder<'i> { /* private fields */ }
Expand description
Buffered PEM decoder.
Stateful buffered decoder type which decodes an input PEM document according to RFC 7468’s “Strict” grammar.
Implementations§
source§impl<'i> Decoder<'i>
impl<'i> Decoder<'i>
sourcepub fn new(pem: &'i [u8]) -> Result<Self>
pub fn new(pem: &'i [u8]) -> Result<Self>
Create a new PEM Decoder
with the default options.
Uses the default 64-character line wrapping.
sourcepub fn new_wrapped(pem: &'i [u8], line_width: usize) -> Result<Self>
pub fn new_wrapped(pem: &'i [u8], line_width: usize) -> Result<Self>
Create a new PEM Decoder
which wraps at the given line width.
sourcepub fn type_label(&self) -> &'i str
pub fn type_label(&self) -> &'i str
Get the PEM type label for the input document.
sourcepub fn decode<'o>(&mut self, buf: &'o mut [u8]) -> Result<&'o [u8]>
pub fn decode<'o>(&mut self, buf: &'o mut [u8]) -> Result<&'o [u8]>
Decode data into the provided output buffer.
There must be at least as much remaining Base64 input to be decoded
in order to completely fill buf
.
sourcepub fn decode_to_end<'o>(&mut self, buf: &'o mut Vec<u8>) -> Result<&'o [u8]>
Available on crate feature alloc
only.
pub fn decode_to_end<'o>(&mut self, buf: &'o mut Vec<u8>) -> Result<&'o [u8]>
alloc
only.Decode all of the remaining data in the input buffer into buf
.
sourcepub fn remaining_len(&self) -> usize
pub fn remaining_len(&self) -> usize
Get the decoded length of the remaining PEM data after Base64 decoding.
sourcepub fn is_finished(&self) -> bool
pub fn is_finished(&self) -> bool
Are we finished decoding the PEM input?
Trait Implementations§
source§impl<'i> From<Decoder<'i>> for Base64Decoder<'i>
impl<'i> From<Decoder<'i>> for Base64Decoder<'i>
source§fn from(decoder: Decoder<'i>) -> Base64Decoder<'i>
fn from(decoder: Decoder<'i>) -> Base64Decoder<'i>
Converts to this type from the input type.
source§impl<'i> Read for Decoder<'i>
Available on crate feature std
only.
impl<'i> Read for Decoder<'i>
Available on crate feature
std
only.source§fn read(&mut self, buf: &mut [u8]) -> Result<usize>
fn read(&mut self, buf: &mut [u8]) -> Result<usize>
Pull some bytes from this source into the specified buffer, returning
how many bytes were read. Read more
source§fn read_to_end(&mut self, buf: &mut Vec<u8>) -> Result<usize>
fn read_to_end(&mut self, buf: &mut Vec<u8>) -> Result<usize>
Read all bytes until EOF in this source, placing them into
buf
. Read moresource§fn read_exact(&mut self, buf: &mut [u8]) -> Result<()>
fn read_exact(&mut self, buf: &mut [u8]) -> Result<()>
Read the exact number of bytes required to fill
buf
. Read more1.36.0 · source§fn read_vectored(&mut self, bufs: &mut [IoSliceMut<'_>]) -> Result<usize, Error>
fn read_vectored(&mut self, bufs: &mut [IoSliceMut<'_>]) -> Result<usize, Error>
Like
read
, except that it reads into a slice of buffers. Read moresource§fn is_read_vectored(&self) -> bool
fn is_read_vectored(&self) -> bool
🔬This is a nightly-only experimental API. (
can_vector
)1.0.0 · source§fn read_to_string(&mut self, buf: &mut String) -> Result<usize, Error>
fn read_to_string(&mut self, buf: &mut String) -> Result<usize, Error>
Read all bytes until EOF in this source, appending them to
buf
. Read moresource§fn read_buf(&mut self, buf: BorrowedCursor<'_>) -> Result<(), Error>
fn read_buf(&mut self, buf: BorrowedCursor<'_>) -> Result<(), Error>
🔬This is a nightly-only experimental API. (
read_buf
)Pull some bytes from this source into the specified buffer. Read more
source§fn read_buf_exact(&mut self, cursor: BorrowedCursor<'_>) -> Result<(), Error>
fn read_buf_exact(&mut self, cursor: BorrowedCursor<'_>) -> Result<(), Error>
🔬This is a nightly-only experimental API. (
read_buf
)Read the exact number of bytes required to fill
cursor
. Read more1.0.0 · source§fn by_ref(&mut self) -> &mut Selfwhere
Self: Sized,
fn by_ref(&mut self) -> &mut Selfwhere Self: Sized,
Creates a “by reference” adaptor for this instance of
Read
. Read more