msquic
msquic copied to clipboard
Refactor the MsQuic datapaths
MsQuic has multiple datapath, to support different platforms (Windows UM, Windows KM, Linux...) and transport technologies (XDP, IO uring...).
This lead the datapath layers to grow in a convoluted way, hard to understand and modify. The datapath and other platform abstraction being grouped in a single lib also make it hard to unit test other MsQuic components.
We should refactor the datapath to enable:
- better compartmentalization of each datapath implementation
- better testability of the core layer in isolation
- easier development of new datapaths (fake datapaths for testing / experiement over other transport technologies...)