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>
Source§impl<'i> Read for Decoder<'i>
Available on crate feature std
only.
impl<'i> Read for Decoder<'i>
std
only.Source§fn read(&mut self, buf: &mut [u8]) -> Result<usize>
fn read(&mut self, buf: &mut [u8]) -> Result<usize>
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>
buf
. Read moreSource§fn read_exact(&mut self, buf: &mut [u8]) -> Result<()>
fn read_exact(&mut self, buf: &mut [u8]) -> Result<()>
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>
read
, except that it reads into a slice of buffers. Read moreSource§fn is_read_vectored(&self) -> bool
fn is_read_vectored(&self) -> bool
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>
buf
. Read moreSource§fn read_buf(&mut self, buf: BorrowedCursor<'_>) -> Result<(), Error>
fn read_buf(&mut self, buf: BorrowedCursor<'_>) -> Result<(), Error>
read_buf
)Source§fn read_buf_exact(&mut self, cursor: BorrowedCursor<'_>) -> Result<(), Error>
fn read_buf_exact(&mut self, cursor: BorrowedCursor<'_>) -> Result<(), Error>
read_buf
)cursor
. Read more1.0.0 · Source§fn by_ref(&mut self) -> &mut Selfwhere
Self: Sized,
fn by_ref(&mut self) -> &mut Selfwhere
Self: Sized,
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Layout§
Note: Most layout information is completely unstable and may even differ between compilations. The only exception is types with certain repr(...)
attributes. Please see the Rust Reference's “Type Layout” chapter for details on type layout guarantees.
Size: 96 bytes