Skip to content

Incoming Stream Buffering #16

@andrewmd5

Description

@andrewmd5
4.5.  Buffering Incoming Streams and Datagrams

   In WebTransport over HTTP/3, the client MAY send its SETTINGS frame,
   as well as multiple WebTransport CONNECT requests, WebTransport data
   streams and WebTransport datagrams, all within a single flight.  As
   those can arrive out of order, a WebTransport server could be put
   into a situation where it receives a stream or a datagram without a
   corresponding session.  Similarly, a client may receive a server-
   initiated stream or a datagram before receiving the CONNECT response
   headers from the server.

   To handle this case, WebTransport endpoints SHOULD buffer streams and
   datagrams until those can be associated with an established session.
   To avoid resource exhaustion, the endpoints MUST limit the number of
   buffered streams and datagrams.  When the number of buffered streams
   is exceeded, a stream SHALL be closed by sending a RESET_STREAM and/
   or STOP_SENDING with the WEBTRANSPORT_BUFFERED_STREAM_REJECTED error
   code.  When the number of buffered datagrams is exceeded, a datagram
   SHALL be dropped.  It is up to an implementation to choose what
   stream or datagram to discard.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions