pub(super) enum NetworkDecoderState {
Detecting(DetectingState),
Decoding(DecodingState),
}Variants§
Detecting(DetectingState)
In this stage the decoder is buffering bytes until it has enough to determine the encoding.
Decoding(DecodingState)
Implementations§
Source§impl NetworkDecoderState
impl NetworkDecoderState
pub(super) fn new( encoding_hint_from_content_type: Option<&'static Encoding>, encoding_of_container_document: Option<&'static Encoding>, ) -> Self
Sourcepub(super) fn push(
&mut self,
chunk: &[u8],
document: &Document,
) -> Option<StrTendril>
pub(super) fn push( &mut self, chunk: &[u8], document: &Document, ) -> Option<StrTendril>
Feeds the network decoder a chunk of bytes.
If a new encoding is detected, then the encoding of document is updated appropriately.
The decoded bytes are returned to the caller. Note that there is not necessarily a 1:1
relation between chunk and the return value. In the beginning, the decoder will buffer
bytes and return None, then later it will flush them and return a large StrTendril all
at once.
pub(super) fn finish(&mut self, document: &Document) -> StrTendril
pub(super) fn is_finished(&self) -> bool
pub(super) fn decoder(&mut self) -> &mut DecodingState
Trait Implementations§
Source§impl MallocSizeOf for NetworkDecoderState
impl MallocSizeOf for NetworkDecoderState
Source§fn size_of(&self, ops: &mut MallocSizeOfOps) -> usize
fn size_of(&self, ops: &mut MallocSizeOfOps) -> usize
Measure the heap usage of all descendant heap-allocated structures, but
not the space taken up by the value itself.
Auto Trait Implementations§
impl !Freeze for NetworkDecoderState
impl !RefUnwindSafe for NetworkDecoderState
impl !Send for NetworkDecoderState
impl !Sync for NetworkDecoderState
impl Unpin for NetworkDecoderState
impl UnwindSafe for NetworkDecoderState
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> Filterable for T
impl<T> Filterable for T
Source§fn filterable(
self,
filter_name: &'static str,
) -> RequestFilterDataProvider<T, fn(DataRequest<'_>) -> bool>
fn filterable( self, filter_name: &'static str, ) -> RequestFilterDataProvider<T, fn(DataRequest<'_>) -> bool>
Creates a filterable data provider with the given name for debugging. 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> MaybeBoxed<Box<T>> for T
impl<T> MaybeBoxed<Box<T>> for T
Source§fn maybe_boxed(self) -> Box<T>
fn maybe_boxed(self) -> Box<T>
Convert
Source§impl<T> MaybeBoxed<T> for T
impl<T> MaybeBoxed<T> for T
Source§fn maybe_boxed(self) -> T
fn maybe_boxed(self) -> T
Convert