Expand description
ClientHandle — one linked client as tracked by the reflector.
The pool stores protocol-erased [ServerSessionCore] instances
keyed by SocketAddr. A phantom P: Protocol marker threads the
protocol type through the API so callers can get DExtra/DPlus/DCS
typed accessors without the storage itself being generic.
This module also defines TokenBucket, the per-client rate
limiter used to cap the number of fan-out voice frames a single
client can consume per second. It lives here (rather than in a
dedicated module) to keep the per-handle state co-located.
Structs§
- Client
Handle - One entry in
super::ClientPool. - Token
Bucket - Rate limiter that caps the number of tokens consumed per second.
Constants§
- DEFAULT_
TX_ BUDGET_ MAX_ TOKENS - Default burst capacity for per-client TX rate limiting, in frames.
- DEFAULT_
TX_ BUDGET_ REFILL_ PER_ SEC - Default steady-state refill rate for per-client TX rate limiting, in frames per second.