Skip to content

nttcom/moq-wasm

Repository files navigation

MoQ WASM

Both server and browser client are written in Rust.

Implementation

Supported version: draft-ietf-moq-transport-06

  • Control Messages
    • CLIENT_SETUP / SERVER_SETUP
    • GOAWAY
    • ANNOUNCE
    • SUBSCRIBE
    • SUBSCRIBE_UPDATE
    • UNSUBSCRIBE
    • ANNOUNCE_OK
    • ANNOUNCE_ERROR
    • ANNOUNCE_CANCEL
    • TRACK_STATUS_REQUEST
    • SUBSCRIBE_NAMESPACE
    • UNSUBSCRIBE_NAMESPACE
    • SUBSCRIBE_OK
    • SUBSCRIBE_ERROR
    • SUBSCRIBE_DONE
    • MAX_SUBSCRIBE_ID
    • ANNOUNCE
    • UNANNOUNCE
    • TRACK_STATUS
    • SUBSCRIBE_NAMESPACE_OK
    • SUBSCRIBE_NAMESPACE_ERROR
  • Data Streams
    • Datagram
    • Track Stream
    • Subgroup Stream
  • Features
    • Manage Publisher / Subscriber
    • Forword Messages
    • Priorities
    • Object Cache

Modules

moqt-core

  • Core module for both server and client
  • Includes handlers and data structures

moqt-server

  • Module for server application

moqt-server-sample

  • Sample server application
    • Supported Roles: PubSub

moqt-client-sample

  • Module for browser client and sample browser client application
    • Supported Roles: Publisher, Subscriber, PubSub

How to run

Generating public and private keys for the server

cd moqt-server-sample
mkdir keys
cd keys
openssl req -newkey rsa:2048 -nodes -keyout key.pem -x509 -out cert.pem -subj '/CN=Test Certificate' -addext "subjectAltName = DNS:localhost"

Run moqt-server-sample

  • cargo run -p moqt-server-sample

Specify the log level

  • cargo run -p moqt-server-sample -- --log <Log Level>
    • Default setting is DEBUG

Run moqt-client-sample

cd js
npm install
npm run dev
  • Add a certificate and Enable WebTransport feature in Chrome
For Mac users
./scripts/start-localhost-test-chrome.sh

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 3

  •  
  •  
  •  

Languages