Struct ReadTrackingReader
pub struct ReadTrackingReader<'a, R>where
R: Read,{
pub have_read: bool,
/* private fields */
}
Expand description
A Read
implementation which tracks whether any bytes have been read at all. This allows us to distinguish
between “EOF reached before we started” and “EOF reached mid-read”.
This is not exported to bindings users as manual TLV building is not currently supported in bindings
Fields§
§have_read: bool
Returns whether we have read from this reader or not yet.
Implementations§
§impl<'a, R> ReadTrackingReader<'a, R>where
R: Read,
impl<'a, R> ReadTrackingReader<'a, R>where
R: Read,
pub fn new(read: &'a mut R) -> ReadTrackingReader<'a, R>
pub fn new(read: &'a mut R) -> ReadTrackingReader<'a, R>
Returns a new ReadTrackingReader
.
Trait Implementations§
Auto Trait Implementations§
impl<'a, R> Freeze for ReadTrackingReader<'a, R>
impl<'a, R> Send for ReadTrackingReader<'a, R>where
R: Send,
impl<'a, R> Sync for ReadTrackingReader<'a, R>where
R: Sync,
impl<'a, R> RefUnwindSafe for ReadTrackingReader<'a, R>where
R: RefUnwindSafe,
impl<'a, R> Unpin for ReadTrackingReader<'a, R>
impl<'a, R> !UnwindSafe for ReadTrackingReader<'a, R>
Blanket Implementations§
§impl<T> AnySync for T
impl<T> AnySync for T
§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> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
Converts
self
into a Left
variant of Either<Self, Self>
if into_left
is true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
Converts
self
into a Left
variant of Either<Self, Self>
if into_left(&self)
returns true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read moreSource§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