TsgcHTTP3Client › Properties › Settings
HTTP/3 SETTINGS parameters the client announces to the server.
property Settings: TsgcHTTP3Settings read FSettings write SetSettings;
TsgcHTTP3Settings
See the individual parameters below.
Settings holds the SETTINGS frame the client sends on its control stream when the connection is established (RFC 9114 Section 7.2.4). It declares the limits and optional features the client is willing to support, and must be configured before connecting.
The parameters are:
QPACKMaxTableCapacity (Int64, default 0): maximum size in bytes of the QPACK dynamic table the peer encoder may use. 0 disables the dynamic table, so headers are only compressed against the static table.
MaxFieldSectionSize (Int64, default 0): largest header section the client will accept, in bytes. 0 means unlimited.
QPACKBlockedStreams (Int64, default 0): how many streams may be blocked waiting for QPACK insertions at once. See BlockedThenResumedCount.
EnableConnectProtocol (Boolean, default False): announces support for Extended CONNECT (RFC 9220 and RFC 8441).
EnableDatagram (Boolean, default False): announces support for HTTP datagrams (RFC 9297). Note this only advertises the capability. Datagrams need the RFC 9221 QUIC DATAGRAM extension, which the OpenSSL 3.5 builtin QUIC engine that ships with the library does not provide, so no datagram is actually carried.
WebTransportMaxSessions (Int64, default 0): how many concurrent WebTransport sessions the client accepts. 0 disables WebTransport. Sessions carry streams only, for the datagram reason above.
The values the server announced are exposed separately through PeerSettings.
oClient.Settings.QPACKMaxTableCapacity := 4096;
oClient.Settings.QPACKBlockedStreams := 16;
oClient.Settings.EnableConnectProtocol := True;