Currently wtransport depends on ls-qpack-rs for QPACK implementation. However, ls-qpack-rs relies its C core-implementation and that implies compiling it requires some additional dependencies: LLVM (for libclang), CMake and, of course, a C compiler.
Those dependencies are thus transitively required by wtransport.
Especially on Windows (where dependencies are generally not distributed with a simple packager manager), compilation might not be super user-friendly. Some users were not clear about that requirements, and rightfully opened some issues. For example:
wtransport-proto will now include a dedicated, full-rust, native QPACK implementation, breaking dependency with ls-qpack-rs.
This new QPACK implementation, of course, is not as feature-complete as ls-qpack-rs, but considering QPACK usage in WebTransport protocol is pretty much minimal that should be fine. This new QPACK implementation indeed will be dedicated for wtransport
Hopefully this will make wtransport much more easier to test/build/play with.
Currently
wtransport
depends onls-qpack-rs
for QPACK implementation. However,ls-qpack-rs
relies its C core-implementation and that implies compiling it requires some additional dependencies: LLVM (forlibclang
), CMake and, of course, a C compiler.Those dependencies are thus transitively required by
wtransport
.Especially on Windows (where dependencies are generally not distributed with a simple packager manager), compilation might not be super user-friendly. Some users were not clear about that requirements, and rightfully opened some issues. For example:
Well, this PR aims to solve the problem.
wtransport-proto
will now include a dedicated, full-rust, native QPACK implementation, breaking dependency withls-qpack-rs
.This new QPACK implementation, of course, is not as feature-complete as
ls-qpack-rs
, but considering QPACK usage in WebTransport protocol is pretty much minimal that should be fine. This new QPACK implementation indeed will be dedicated forwtransport
Hopefully this will make
wtransport
much more easier to test/build/play with.