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]>
pub fn decode_to_end<'o>(&mut self, buf: &'o mut Vec<u8>) -> Result<&'o [u8]>
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.
Auto 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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§unsafe fn clone_to_uninit(&self, dst: *mut T)
unsafe fn clone_to_uninit(&self, dst: *mut T)
🔬This is a nightly-only experimental API. (
clone_to_uninit
)