pub struct Http3MessageContentState { /* private fields */ }Expand description
Bounded cumulative HTTP message-content and Content-Length state.
The caller supplies QPACK-decoded, semantically validated field sections before committing the corresponding message-stream transition. This state does not sequence frames or own tunnel bytes.
Implementations§
Source§impl Http3MessageContentState
impl Http3MessageContentState
Sourcepub const fn new(kind: Http3ContentKind) -> Self
pub const fn new(kind: Http3ContentKind) -> Self
Creates accounting state for one incoming request, response, or push message.
Sourcepub const fn kind(self) -> Http3ContentKind
pub const fn kind(self) -> Http3ContentKind
Returns this message’s role.
Sourcepub const fn declared_length(self) -> Option<u64>
pub const fn declared_length(self) -> Option<u64>
Returns the normalized initial Content-Length, if present.
Sourcepub const fn received_length(self) -> u64
pub const fn received_length(self) -> u64
Returns HTTP message-content bytes accepted so far.
Tunnel bytes are deliberately not counted.
Sourcepub fn accept_initial_headers(
&mut self,
section: Http3DecodedHeaderSection<'_>,
) -> Result<Http3ContentDisposition, Http3MessageContentError>
pub fn accept_initial_headers( &mut self, section: Http3DecodedHeaderSection<'_>, ) -> Result<Http3ContentDisposition, Http3MessageContentError>
Accepts an initial request header section or an informational/final response section.
Sourcepub fn receive_data(
&mut self,
data: Http3Data<'_>,
) -> Result<(), Http3MessageContentError>
pub fn receive_data( &mut self, data: Http3Data<'_>, ) -> Result<(), Http3MessageContentError>
Accounts for one HTTP DATA payload without buffering it.
Sourcepub fn accept_trailers(
&mut self,
section: Http3DecodedHeaderSection<'_>,
) -> Result<(), Http3MessageContentError>
pub fn accept_trailers( &mut self, section: Http3DecodedHeaderSection<'_>, ) -> Result<(), Http3MessageContentError>
Accepts an analyzer-valid trailer section after content.
Sourcepub fn finish(&self) -> Result<(), Http3MessageContentError>
pub fn finish(&self) -> Result<(), Http3MessageContentError>
Verifies that required headers arrived and Content-Length matches accepted HTTP content.