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>
Reads 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<()>
Reads 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>
Reads 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
)Reads 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 moreAuto Trait Implementations§
impl<'i> Freeze for Decoder<'i>
impl<'i> RefUnwindSafe for Decoder<'i>
impl<'i> Send for Decoder<'i>
impl<'i> Sync for Decoder<'i>
impl<'i> Unpin for Decoder<'i>
impl<'i> UnwindSafe for Decoder<'i>
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more