pub struct RecvStream { /* private fields */ }Expand description
A stream that can be used to receive bytes. See quinn::RecvStream.
Implementations§
Source§impl RecvStream
impl RecvStream
Sourcepub fn stop(&mut self, code: u32) -> Result<(), ClosedStream>
pub fn stop(&mut self, code: u32) -> Result<(), ClosedStream>
Tell the peer to stop sending data with the given error code. See quinn::RecvStream::stop.
WebTransport uses a u32 because it shares the error space with HTTP/3.
Sourcepub async fn read(&mut self, buf: &mut [u8]) -> Result<Option<usize>, ReadError>
pub async fn read(&mut self, buf: &mut [u8]) -> Result<Option<usize>, ReadError>
Read some data into the buffer and return the amount read. See quinn::RecvStream::read.
Sourcepub async fn read_exact(&mut self, buf: &mut [u8]) -> Result<(), ReadExactError>
pub async fn read_exact(&mut self, buf: &mut [u8]) -> Result<(), ReadExactError>
Fill the entire buffer with data. See quinn::RecvStream::read_exact.
Sourcepub async fn read_chunk(
&mut self,
max_length: usize,
ordered: bool,
) -> Result<Option<Chunk>, ReadError>
pub async fn read_chunk( &mut self, max_length: usize, ordered: bool, ) -> Result<Option<Chunk>, ReadError>
Read a chunk of data from the stream. See quinn::RecvStream::read_chunk.
Sourcepub async fn read_chunks(
&mut self,
bufs: &mut [Bytes],
) -> Result<Option<usize>, ReadError>
pub async fn read_chunks( &mut self, bufs: &mut [Bytes], ) -> Result<Option<usize>, ReadError>
Read chunks of data from the stream. See quinn::RecvStream::read_chunks.
Sourcepub async fn read_to_end(
&mut self,
size_limit: usize,
) -> Result<Vec<u8>, ReadToEndError>
pub async fn read_to_end( &mut self, size_limit: usize, ) -> Result<Vec<u8>, ReadToEndError>
Read until the end of the stream or the limit is hit. See quinn::RecvStream::read_to_end.
Sourcepub async fn received_reset(&mut self) -> Result<Option<u32>, SessionError>
pub async fn received_reset(&mut self) -> Result<Option<u32>, SessionError>
Block until the stream has been reset and return the error code. See quinn::RecvStream::received_reset.
Unlike Quinn, this returns SessionError (not ResetError) because 0-RTT is not supported.
Sourcepub fn quic_id(&self) -> StreamId
pub fn quic_id(&self) -> StreamId
Return the underlying QUIC stream ID.
Warning
WebTransport sessions share the QUIC connection with HTTP/3 and other sessions. The quinn::StreamId::index may not increment by 1 as it does in a standalone quinn connection. The JavaScript WebTransport API therefore does not expose stream IDs.
Trait Implementations§
Source§impl AsyncRead for RecvStream
impl AsyncRead for RecvStream
Source§impl Debug for RecvStream
impl Debug for RecvStream
Source§impl RecvStream for RecvStream
impl RecvStream for RecvStream
Source§fn stop(&mut self, code: u32)
fn stop(&mut self, code: u32)
STOP_SENDING QUIC code, informing the peer that no more data will be read. Read moreSource§async fn read(&mut self, dst: &mut [u8]) -> Result<Option<usize>, Self::Error>
async fn read(&mut self, dst: &mut [u8]) -> Result<Option<usize>, Self::Error>
Source§async fn read_chunk(&mut self, max: usize) -> Result<Option<Bytes>, Self::Error>
async fn read_chunk(&mut self, max: usize) -> Result<Option<Bytes>, Self::Error>
Source§async fn closed(&mut self) -> Result<(), Self::Error>
async fn closed(&mut self) -> Result<(), Self::Error>
Source§fn read_buf<B>(
&mut self,
buf: &mut B,
) -> impl Future<Output = Result<Option<usize>, Self::Error>> + MaybeSend
fn read_buf<B>( &mut self, buf: &mut B, ) -> impl Future<Output = Result<Option<usize>, Self::Error>> + MaybeSend
Auto Trait Implementations§
impl Freeze for RecvStream
impl RefUnwindSafe for RecvStream
impl Send for RecvStream
impl Sync for RecvStream
impl Unpin for RecvStream
impl UnsafeUnpin for RecvStream
impl UnwindSafe for RecvStream
Blanket Implementations§
Source§impl<R> AsyncReadExt for R
impl<R> AsyncReadExt for R
Source§fn read<'a>(&'a mut self, buf: &'a mut [u8]) -> Read<'a, Self>where
Self: Unpin,
fn read<'a>(&'a mut self, buf: &'a mut [u8]) -> Read<'a, Self>where
Self: Unpin,
Source§fn read_buf<'a, B>(&'a mut self, buf: &'a mut B) -> ReadBuf<'a, Self, B>
fn read_buf<'a, B>(&'a mut self, buf: &'a mut B) -> ReadBuf<'a, Self, B>
Source§fn read_exact<'a>(&'a mut self, buf: &'a mut [u8]) -> ReadExact<'a, Self>where
Self: Unpin,
fn read_exact<'a>(&'a mut self, buf: &'a mut [u8]) -> ReadExact<'a, Self>where
Self: Unpin,
buf. Read moreSource§fn read_u8(&mut self) -> ReadU8<&mut Self>where
Self: Unpin,
fn read_u8(&mut self) -> ReadU8<&mut Self>where
Self: Unpin,
Source§fn read_i8(&mut self) -> ReadI8<&mut Self>where
Self: Unpin,
fn read_i8(&mut self) -> ReadI8<&mut Self>where
Self: Unpin,
Source§fn read_u16(&mut self) -> ReadU16<&mut Self>where
Self: Unpin,
fn read_u16(&mut self) -> ReadU16<&mut Self>where
Self: Unpin,
Source§fn read_i16(&mut self) -> ReadI16<&mut Self>where
Self: Unpin,
fn read_i16(&mut self) -> ReadI16<&mut Self>where
Self: Unpin,
Source§fn read_u32(&mut self) -> ReadU32<&mut Self>where
Self: Unpin,
fn read_u32(&mut self) -> ReadU32<&mut Self>where
Self: Unpin,
Source§fn read_i32(&mut self) -> ReadI32<&mut Self>where
Self: Unpin,
fn read_i32(&mut self) -> ReadI32<&mut Self>where
Self: Unpin,
Source§fn read_u64(&mut self) -> ReadU64<&mut Self>where
Self: Unpin,
fn read_u64(&mut self) -> ReadU64<&mut Self>where
Self: Unpin,
Source§fn read_i64(&mut self) -> ReadI64<&mut Self>where
Self: Unpin,
fn read_i64(&mut self) -> ReadI64<&mut Self>where
Self: Unpin,
Source§fn read_u128(&mut self) -> ReadU128<&mut Self>where
Self: Unpin,
fn read_u128(&mut self) -> ReadU128<&mut Self>where
Self: Unpin,
Source§fn read_i128(&mut self) -> ReadI128<&mut Self>where
Self: Unpin,
fn read_i128(&mut self) -> ReadI128<&mut Self>where
Self: Unpin,
Source§fn read_f32(&mut self) -> ReadF32<&mut Self>where
Self: Unpin,
fn read_f32(&mut self) -> ReadF32<&mut Self>where
Self: Unpin,
Source§fn read_f64(&mut self) -> ReadF64<&mut Self>where
Self: Unpin,
fn read_f64(&mut self) -> ReadF64<&mut Self>where
Self: Unpin,
Source§fn read_u16_le(&mut self) -> ReadU16Le<&mut Self>where
Self: Unpin,
fn read_u16_le(&mut self) -> ReadU16Le<&mut Self>where
Self: Unpin,
Source§fn read_i16_le(&mut self) -> ReadI16Le<&mut Self>where
Self: Unpin,
fn read_i16_le(&mut self) -> ReadI16Le<&mut Self>where
Self: Unpin,
Source§fn read_u32_le(&mut self) -> ReadU32Le<&mut Self>where
Self: Unpin,
fn read_u32_le(&mut self) -> ReadU32Le<&mut Self>where
Self: Unpin,
Source§fn read_i32_le(&mut self) -> ReadI32Le<&mut Self>where
Self: Unpin,
fn read_i32_le(&mut self) -> ReadI32Le<&mut Self>where
Self: Unpin,
Source§fn read_u64_le(&mut self) -> ReadU64Le<&mut Self>where
Self: Unpin,
fn read_u64_le(&mut self) -> ReadU64Le<&mut Self>where
Self: Unpin,
Source§fn read_i64_le(&mut self) -> ReadI64Le<&mut Self>where
Self: Unpin,
fn read_i64_le(&mut self) -> ReadI64Le<&mut Self>where
Self: Unpin,
Source§fn read_u128_le(&mut self) -> ReadU128Le<&mut Self>where
Self: Unpin,
fn read_u128_le(&mut self) -> ReadU128Le<&mut Self>where
Self: Unpin,
Source§fn read_i128_le(&mut self) -> ReadI128Le<&mut Self>where
Self: Unpin,
fn read_i128_le(&mut self) -> ReadI128Le<&mut Self>where
Self: Unpin,
Source§fn read_f32_le(&mut self) -> ReadF32Le<&mut Self>where
Self: Unpin,
fn read_f32_le(&mut self) -> ReadF32Le<&mut Self>where
Self: Unpin,
Source§fn read_f64_le(&mut self) -> ReadF64Le<&mut Self>where
Self: Unpin,
fn read_f64_le(&mut self) -> ReadF64Le<&mut Self>where
Self: Unpin,
Source§fn read_to_end<'a>(&'a mut self, buf: &'a mut Vec<u8>) -> ReadToEnd<'a, Self>where
Self: Unpin,
fn read_to_end<'a>(&'a mut self, buf: &'a mut Vec<u8>) -> ReadToEnd<'a, Self>where
Self: Unpin,
buf. Read more