pub struct Settings {
pub datagrams: bool,
}Expand description
The peer’s SETTINGS, reduced to what this server acts on.
Only one setting changes any behaviour here: RFC 9297 §2.1.1 forbids sending HTTP Datagrams until the peer has advertised support for them, and a CONNECT-UDP session falls back to capsules on the request stream until it has. Everything else is validated as the RFC requires and then dropped, because keeping a value nothing reads is how a setting silently stops being honoured.
One of the dropped values carries a SHOULD this server knowingly does not honour, so it is recorded here rather than left to be rediscovered:
A peer’s SETTINGS_MAX_FIELD_SECTION_SIZE is parsed – so that a malformed
or duplicated one is still caught – and then dropped. Every response this
server sends is a status line and at most two short fields, some 200 bytes
by §4.2.2’s own accounting, so honouring the SHOULD would mean carrying the
value through the connection, the request and the response writer to change
nothing: the only peer it could affect is one advertising a limit small
enough to refuse a bare 407, which has asked for a proxy it cannot use.
Trimming fields to fit would also mean choosing which of a Proxy-Status
explanation or a Proxy-Authenticate challenge to drop, and neither is
better sent truncated than in full.
Fields§
§datagrams: boolSETTINGS_H3_DATAGRAM = 1.