Summary:
This diff implements SCONE (Standard Communication with Network Elements) in mvfst.
Endpoints advertise SCONE support via transport parameters when `enableScone` is configured.
## Sending SCONE Packets
When SCONE is negotiated, the sender coalesces SCONE packets with regular QUIC packets:
- One SCONE packet is sent per write loop (when application data is being sent)
- SCONE packets are prepended to the first QUIC packet in the write loop
- Each SCONE packet contains a rate signal field (default: 0x7F for "no advice")
- Network elements can modify this rate signal field in transit to provide throughput advice
## Rate Signal Processing
When SCONE is negotiated, the client processes rate signals received from the network:
- Rate signals are queued for application delivery only after subsequent packet processing succeeds (per spec)
- Signals are logged to qLogger for observability
- Application callbacks are invoked with the received rate signals
---
> Generated by [Confucius Code Assist (CCA)](https://www.internalfb.com/wiki/Confucius/Analect/Shared_Analects/Confucius_Code_Assist_(CCA)/)
[Session](https://www.internalfb.com/confucius?session_id=542cdd3e-b9d5-11f0-8cdb-87bcfe5dca6d&tab=Chat), [Trace](https://www.internalfb.com/confucius?session_id=542cdd3e-b9d5-11f0-8cdb-87bcfe5dca6d&tab=Trace)
Reviewed By: sharmafb, kvtsoy
Differential Revision: D78612997
fbshipit-source-id: a076aa820731c3037210cf54a6c53dc55f551dff