pub struct NestedFramer<Inner, Outer> { /* private fields */ }Expand description
A nested framer that extracts inner frames from outer frames.
This framer takes two input framers – the “outer” and “inner” framers – and extracts outer frames, and once an outer frame has been extract, extracts as many inner frames from the outer frame as possible. Callers deal exclusively with the extracted inner frames.
Implementations§
Source§impl<Inner, Outer> NestedFramer<Inner, Outer>
impl<Inner, Outer> NestedFramer<Inner, Outer>
Sourcepub fn new(inner: Inner, outer: Outer) -> Self
pub fn new(inner: Inner, outer: Outer) -> Self
Creates a new NestedFramer from the given inner and outer framers.
Sourcepub fn take_completed_outer_frames(&mut self) -> usize
pub fn take_completed_outer_frames(&mut self) -> usize
Returns the number of outer frames that have been fully consumed since the last call.
Trait Implementations§
Source§impl<Inner, Outer> Framer for NestedFramer<Inner, Outer>
impl<Inner, Outer> Framer for NestedFramer<Inner, Outer>
Source§fn next_frame<B: ReadIoBuffer>(
&mut self,
buf: &mut B,
is_eof: bool,
) -> Result<Option<Bytes>, FramingError>
fn next_frame<B: ReadIoBuffer>( &mut self, buf: &mut B, is_eof: bool, ) -> Result<Option<Bytes>, FramingError>
Attempt to extract the next frame from the buffer. Read more
Auto Trait Implementations§
impl<Inner, Outer> !Freeze for NestedFramer<Inner, Outer>
impl<Inner, Outer> RefUnwindSafe for NestedFramer<Inner, Outer>where
Inner: RefUnwindSafe,
Outer: RefUnwindSafe,
impl<Inner, Outer> Send for NestedFramer<Inner, Outer>
impl<Inner, Outer> Sync for NestedFramer<Inner, Outer>
impl<Inner, Outer> Unpin for NestedFramer<Inner, Outer>
impl<Inner, Outer> UnsafeUnpin for NestedFramer<Inner, Outer>where
Inner: UnsafeUnpin,
Outer: UnsafeUnpin,
impl<Inner, Outer> UnwindSafe for NestedFramer<Inner, Outer>where
Inner: UnwindSafe,
Outer: UnwindSafe,
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> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> 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::RequestSource§impl<T> Pointable for T
impl<T> Pointable for T
Source§impl<T> Track for T
impl<T> Track for T
Source§fn track_resources(self, token: ResourceGroupToken) -> Tracked<Self>
fn track_resources(self, token: ResourceGroupToken) -> Tracked<Self>
Instruments this type by attaching the given resource group token, returning a
Tracked wrapper. Read moreSource§fn in_current_resource_group(self) -> Tracked<Self>
fn in_current_resource_group(self) -> Tracked<Self>
Instruments this type by attaching the current resource group, returning a
Tracked wrapper. Read more