Mesh under load
Join a real full-mesh room and watch every participant get their own peer connection. Then increase the room size on paper and watch uplink, connection count, and encoder pressure turn quadratic.
Lesson 12 — TopologiesRoom setup
Share the room code. Every tab that joins opens a connection to every other tab.
Media source
Start a camera or a synthetic feed before joining. Switching source while connected would require renegotiating every mesh link.
Live mesh map
Media tiles
1 VIEWStart a camera or test feed. Nothing leaves the browser until a mesh link exists.
no local track
One tab is a mesh of one.
Copy the invite, open another tab, and start the same source there. The second tab will offer to this one.
Per-link load
Each row is a separate peer connection with its own ICE path and sender.
0
Peer connections
1 per remote tab
0
Media senders
Tracks × links
—
Actual out
Video bytes delta
0
Server media
Direct mesh paths
Signaling messages appear here once you join a room or exchange a manual offer.
Solo load model
No second device? Move the room size on paper and watch the quadratic cost.
212
PER-PEER UPLINK AGAINST A 16 MBPS PRACTICAL CEILING
Small mesh rooms are viable. Push the model further to see where the curve gets uncomfortable.
- Connections
- 3
- Streams / peer
- 2
- Per-peer uplink
- 2.4 Mbps
- Total client uplink
- 7 Mbps
Break the mesh
Mesh failures are per pair. Break one link and the rest can stay healthy; break signaling and established media may briefly outlive it.
Drop one connection
Closes exactly one RTCPeerConnection. The signaling room still thinks the peer is present. That mismatch is the lesson.
Kill signaling
Closes the WebSocket. Media is not carried over signaling, but the server may announce a peer-left. Observe the real outcome before assuming.
Completion
Record the mesh lab
You have explored a real multi-peer room or its load model. Record the lab to count it toward the certificate.