Struct FixedLengthReader
pub struct FixedLengthReader<'a, R>where
R: Read,{ /* private fields */ }
Expand description
Essentially std::io::Take
but a bit simpler and with a method to walk the underlying stream
forward to ensure we always consume exactly the fixed length specified.
This is not exported to bindings users as manual TLV building is not currently supported in bindings
Implementations§
§impl<'a, R> FixedLengthReader<'a, R>where
R: Read,
impl<'a, R> FixedLengthReader<'a, R>where
R: Read,
pub fn new(read: &'a mut R, total_bytes: u64) -> FixedLengthReader<'a, R>
pub fn new(read: &'a mut R, total_bytes: u64) -> FixedLengthReader<'a, R>
Returns a new FixedLengthReader
.
pub fn bytes_remain(&mut self) -> bool
pub fn bytes_remain(&mut self) -> bool
Returns whether some bytes are remaining or not.
pub fn eat_remaining(&mut self) -> Result<(), DecodeError>
pub fn eat_remaining(&mut self) -> Result<(), DecodeError>
Consumes the remaining bytes.
Trait Implementations§
Auto Trait Implementations§
impl<'a, R> Freeze for FixedLengthReader<'a, R>
impl<'a, R> RefUnwindSafe for FixedLengthReader<'a, R>where
R: RefUnwindSafe,
impl<'a, R> Send for FixedLengthReader<'a, R>where
R: Send,
impl<'a, R> Sync for FixedLengthReader<'a, R>where
R: Sync,
impl<'a, R> Unpin for FixedLengthReader<'a, R>
impl<'a, R> !UnwindSafe for FixedLengthReader<'a, R>
Blanket Implementations§
§impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
§impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
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
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
Source§impl<T> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
Source§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
Wrap the input message
T
in a tonic::Request
Source§impl<T> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
Source§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
Wrap the input message
T
in a tonic::Request