StreamBiLocalH3

Type Alias StreamBiLocalH3 

Source
pub type StreamBiLocalH3 = Stream<BiLocal, H3>;
Expand description

HTTP3 bidirectional local stream.

Aliased Type§

pub struct StreamBiLocalH3 { /* private fields */ }

Implementations§

Source§

impl StreamBiLocalH3

Source

pub fn read_frame<'a, R>( &self, bytes_reader: &mut R, ) -> Result<Option<Frame<'a>>, ErrorCode>
where R: BytesReader<'a>,

Source

pub async fn read_frame_async<'a, R>( &self, reader: &mut R, ) -> Result<Frame<'a>, IoReadError>
where R: AsyncRead + Unpin + ?Sized,

Source

pub fn read_frame_from_buffer<'a>( &self, buffer_reader: &mut BufferReader<'a>, ) -> Result<Option<Frame<'a>>, ErrorCode>

Source

pub fn write_frame<W>( &mut self, frame: Frame<'_>, bytes_writer: &mut W, ) -> Result<(), EndOfBuffer>
where W: BytesWriter,

See Frame::write.

§Panics

Panics if FrameKind::WebTransport (use upgrade for that).

Source

pub async fn write_frame_async<W>( &mut self, frame: Frame<'_>, writer: &mut W, ) -> Result<(), IoWriteError>
where W: AsyncWrite + Unpin + ?Sized,

See Frame::write_async.

§Panics

Panics if FrameKind::WebTransport (use upgrade for that).

Source

pub fn write_frame_to_buffer( &mut self, frame: Frame<'_>, buffer_writer: &mut BufferWriter<'_>, ) -> Result<(), EndOfBuffer>

See Frame::write_to_buffer.

§Panics

Panics if FrameKind::WebTransport (use upgrade for that).

Source

pub fn upgrade<W>( self, session_id: SessionId, bytes_writer: &mut W, ) -> StreamBiLocalWT
where W: BytesWriter,

Upgrades to a WebTransport stream.

§Panics
  • Panics if any other I/O operation has been performed on this stream before upgrade.
  • Panics if bytes_writer does not have enough capacity. See Self::upgrade_size.
Source

pub async fn upgrade_async<W>( self, session_id: SessionId, writer: &mut W, ) -> Result<StreamBiLocalWT, IoWriteError>
where W: AsyncWrite + Unpin + ?Sized,

Upgrades to a WebTransport stream.

§Panics
  • Panics if any other I/O operation has been performed on this stream before upgrade.
Source

pub fn upgrade_size(&self, session_id: SessionId) -> usize

Returns the needed capacity for upgrade via Self::upgrade.

Source

pub fn into_session(self, session_request: SessionRequest) -> StreamSession

Converts the stream into a StreamSession.