Skip to main content
  • Home
  • login
  • Browse the archive

    swh mirror partner logo
swh logo
SoftwareHeritage
Software
Heritage
Mirror
Features
  • Search

  • Downloads

  • Save code now

  • Add forge now

  • Help

  • c938f85
  • /
  • demuxer.md
Raw File
Permalinks

To reference or cite the objects present in the Software Heritage archive, permalinks based on SoftWare Hash IDentifiers (SWHIDs) must be used.
Select below a type of object currently browsed in order to display its associated SWHID and permalink.

  • content
  • directory
content badge Iframe embedding
swh:1:cnt:f9ea9fa99454eeda2c27b4c0e98d026e17b31e48
directory badge Iframe embedding
swh:1:dir:c938f85f8c8795a42466aba0c8d80ded8e38806b
demuxer.md
Packet Demuxer
==============

This is a QUIC specific module that parses headers of incoming packets and
decides what to do next.

Demuxer requirements for MVP
----------------------------

These are the requirements that were identified for MVP:

- multiple QUIC packets in an UDP packet handling as packet coalescing
  must be supported
- client must discard any packets that do not match existing connection ID
- client must discard any packets with version different from the one initially
  selected

Optional demuxer requirements
-----------------------------

These are optional features of the client side demuxer, not required for MVP
but otherwise desirable:

- optionally trigger sending stateless reset packets if a received packet
  on the client is well-formed but does not belong to a known connection

Demuxer requirements for server
-------------------------------

Further requirements after MVP for server support:

- on the server side packets can create a new connection potentially
- server side packet handling for unsupported version packets:
  - trigger sending version negotiation packets if the server receives a packet
    with an unsupported version and is large enough to initiate a new
    connection; limit the number of such packets with the same destination
  - discard smaller packets with unsupported versions
- packet handling on server for well-formed packets with supported versions
  but with unknown connection IDs:
  - if the packet is a well-formed Initial packet, trigger the creation of a
    new connection
  - if the packet is a well-formed 0RTT packet, mark the packet to be
    buffered for short period of time (as Initial packet might arrive late)
    - this is optional - enabled only if 0RTT support is enabled by the
      application
  - discard any other packet with unknown connection IDs
    - optionally trigger sending stateless reset packets as above for client

ENEA — Copyright (C), ENEA. License: GNU AGPLv3+.
Legal notes  ::  JavaScript license information ::  Web API

back to top