Module limits

Module limits 

Source
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§

TextBudget
One connection’s allowance for the things it types.
VoiceBudget
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 UDPTunnel branch drops len < 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).