I was curious how Syncthing actually uses QUIC and multiple QUIC streams, but I could not find any trace of clever uses of streams. In fact the listener code seems to ever only accept a single stream. Similarly there is only one stream opened ever.
Doesn’t this downgrade QUIC to basically TCP like semantics? What are the advantages of using QUIC this way?
Honestly, I would expect TCP to be much more tuned for this single-stream use case and even exhibit better performance than QUIC here. In contrast HTTP/3 seems to open a QUIC stream per request.