HTTP/3 client: support raw DATAGRAM and WebTransport on one connection

Open
#604 0 comments 0 reactions 0 assignees View on GitHub

Maintainers usually reply within 1 day

Nobody has claimed this yet.

Assessment

Difficulty
5/5
Estimated time
Over a week
Newbie friendliness
28/100
Issue type
Feature
Clarity
Mostly clear
Activity status
Active
Tech stack
c
Domain
networking

Research direction

Start by reading the HTTP/3 client code that selects raw QUIC DATAGRAM or WebTransport mode when the engine is created, then trace how it handles datagram payloads and stream IDs. The issue asks for connection and stream state that supports both modes; done means tests negotiate both, exchange each datagram kind concurrently, and confirm ordinary HTTP/3 requests still work.

Written by the indexing model from the issue text.

Description

enhancement

Summary

The raw QUIC DATAGRAM fix selects raw RFC 9221 mode or WebTransport RFC 9297 mode when the engine is created. The modes are documented as mutually exclusive on one client.

Proposed improvement

Design connection/stream state that supports raw datagrams and WebTransport sessions together without confusing raw payloads with quarter-stream-ID-prefixed HTTP Datagrams.

Tests

Negotiate both features on one client, exchange each datagram kind concurrently, and verify ordinary HTTP/3 requests remain unaffected.

Dominant language
C
Stars
16
Forks
7
Avg merge
5h 39m
Merged PRs (30d)
185

Getting set up

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

More from c4punks/CWIST

All issues in c4punks/CWIST

Similar issues

More C issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.