wired
libc-free QUIC/HTTP3 SDK in C for x86_64-linux
Loading...
Searching...
No Matches
moqtss.h File Reference

Per-session SSTS (sender-side track switching, moqtail-compatible) state the hub keeps for one subscriber session: the algorithms negotiated in SETUP (option 0x09), its switching sets (SWITCHING_SET_ASSIGNMENT 0x41) and the final per-group decisions. More...

Go to the source code of this file.

Data Structures

struct  moqtss_member
 One member: a subscription of the session, named by the Track Alias the hub gave it on that session (unique per track, draft-22 3.1.3). More...
struct  moqtss_dec
 The final decision for one group of one set: the alias forwarded (MOQTSS_PICK_NONE: nothing). More...
struct  moqtss_set
 One switching set (moqtail switching_set.rs). More...
struct  moqtss_sess
 One subscriber session's SSTS state (wired_moqtrun_peer.ssts). More...

Macros

#define WIRED_MOQTRUN_SSTS_SETS   8
 Switching sets one subscriber session holds at once.
#define WIRED_MOQTRUN_SSTS_RING   8
 Recent group decisions kept per switching set.
#define WIRED_MOQTRUN_SSTS_KEEP   5
 moqtail DECISION_WINDOW: decisions older than the set's largest - 5 are pruned.
#define MOQTSS_PICK_NONE   (~(u64)0)
 A decision's pick for a set that forwards nothing this group.

Detailed Description

Per-session SSTS (sender-side track switching, moqtail-compatible) state the hub keeps for one subscriber session: the algorithms negotiated in SETUP (option 0x09), its switching sets (SWITCHING_SET_ASSIGNMENT 0x41) and the final per-group decisions.

Types only – moqtrun.h embeds them; the logic is moqtssts_run.c (moqtssts_run.h). draft-22 sessions only.

Macro Definition Documentation

◆ WIRED_MOQTRUN_SSTS_RING

#define WIRED_MOQTRUN_SSTS_RING   8

Recent group decisions kept per switching set.

moqtail keeps every group >= largest - WIRED_MOQTRUN_SSTS_KEEP (6 groups) plus the one being decided: 8 holds that with one spare.

◆ WIRED_MOQTRUN_SSTS_SETS

#define WIRED_MOQTRUN_SSTS_SETS   8

Switching sets one subscriber session holds at once.

moqt_chat holds one per remote screen sharer; 8 covers a room of 8 sharers. An assignment past it is refused INTERNAL_ERROR.