Skip to content

birneee/quiche_moq

Repository files navigation

QUICHE MoQ

⚠️ Not production ready

This project is not affiliated with Cloudflare quiche

A Media over QUIC (MoQ) implementation for quiche.

Time example

$  RUST_LOG=info cargo run -p time-server
[INFO  quiche_utils::cert] generate self signed TLS certificate
[INFO  quiche_utils::cert] certificate spki: rugY1MtvoZbK+pVqkoojKCLBJMr2S6gKjacqkO2YqDY=
[INFO  time_server] start server on 0.0.0.0:8080
$ RUST_LOG=info cargo run -p time-client
[INFO  time_client] connect to 127.0.0.1:8080
[INFO  time_client] subscribe clock second
[INFO  time_client] received "2025-10-17T11:37:17.265898446+02:00"
[INFO  time_client] received "2025-10-17T11:37:18.268052136+02:00"
[INFO  time_client] received "2025-10-17T11:37:19.270110847+02:00"

Features

  • multi version support
    • draft 07
    • draft 08
    • draft 09
    • draft 10
    • draft 11
    • draft 12
    • draft 13
    • draft 14
  • MoQ via WebTransport
  • MoQ via QUIC
  • subscribe
  • fetch
  • announce
  • publish
  • unannounce
  • unsubscribe
  • track status
  • streams
  • datagrams
  • interop

Flow Chart

   +-----------------+
   |                 |
   |                 v
   |     🗲 io event or timer fires
   |                 ∨
   |     QUIC process all UDP packets & timeouts
   |                 v
   |     setup H3 connections
   |                 v
   |     update H3 from QUIC state
   |                 v
   |     update WebTransport state from H3
   |                 v
   |     setup WebTransport sessions
   |                 v
   |     setup MoQ sessions
   |                 v
   |     update MoQ from WebTransport state
   |                 v
   |     read MoQ objects
   |                 v
   |     manage MoQ subscriptions
   |                 v
   |     send MoQ objects
   |                 v
   |     QUIC collect garbage
   |                 |
   |                 |
   +-----------------+

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages