Expand description
Data-plane limits (spec 15.7).
Two protect the voice path itself: a hard cap on datagram size, and a per-connection packet budget. That budget is not an optimisation, it is what keeps one connection from turning into N encryptions per packet for every other connection.
One protects the control path: a leaky bucket in front of TextMessage,
which is the only thing a client can type as fast as it likes. The rest of
the rate-limit matrix of 22.5 - authentication, blobs, context actions - is
still Phase 9.
Structs§
- Text
Budget - One connection’s allowance for the things it types.
- Voice
Budget - One connection’s voice traffic account.
Constants§
- MAX_
UDP_ PACKET_ SIZE - Largest voice datagram the server accepts, in bytes.
- MIN_
UDP_ PACKET_ SIZE - Smallest datagram that can carry anything meaningful (a type byte plus at
least one payload byte).
REF: references/mumble/src/murmur/Server.cpp : the
UDPTunnelbranch dropslen < 2. - PACKET_
OVERHEAD - What the reference server adds to a voice payload to account for what the network actually carried.
Functions§
- is_
acceptable_ size - Whether a datagram is within the accepted size band (spec 15.7).