コンテンツにスキップ

wired ガイド

wired は、libc(C の標準ライブラリー)に依存しない、C で書かれた TLS 1.3 / QUIC / HTTP/3 / WebTransport / MoQT サーバー SDK です。 各ページには、コピーしてそのまま使える完全なプログラムと、その出力を載せています。 出力は、CI が独立したクライアント(quic-go、webtransport-go)を相手に最後に実行したとき、実際に表示されたものです。

ビルドコマンドは はじめての wired で説明しています。 まずここから読んでください。 サンプルが前提にしている設計上の考え方は、「考え方」のページで説明しています。 MoQT へのメディアの載せ方、ストリームとデータグラム、ブラウザーの要件、SDK とアプリの役割分担、現在の上限 があります。

層 ページ
TLS と暗号 SHA-256、X25519、証明書、TLS ハンドシェイク
QUIC パケットヘッダー、UDP ソケット、サーバーのフラグ
HTTP/3 はじめての HTTP/3、パスによる振り分け、大きなボディのストリーミング、静的ファイルの配信、ステータスコードとヘッダー、POST ボディのストリーミング、統計エンドポイント
WebTransport データグラム、ストリーム、セッション、ブラウザーが必要とするもの、ブロードキャスト、開いたままのストリーム、バックプレッシャー、Origin ヘッダーの検査、セッションのライフサイクル
MoQT リレーハブ、パブリッシュ、ライブトラック、購読者の認可、データグラムとストリームの配送、過去の Object の取得、名前空間の発見、優先度と GOAWAY
運用 ハンドシェイクのつまみ、アプリ側のタイマー、証明書のホットリロード、SIGTERM によるグレースフルストップ

各層は、表で一つ上にある層の上に成り立っています。 HTTP/3 のページは下で QUIC と TLS を動かしており、WebTransport は HTTP/3 の上で、メディア配信プロトコルの MoQT は WebTransport の上で動きます。

個々の関数と構造体は API リファレンス を参照してください。 アプリケーション全体の例は moqt_chat デモ にあります。