TsgcHTTP3Client › Eigenschaften › Settings

Settings Eigenschaft

HTTP/3-SETTINGS-Parameter, die der Client dem Server ankündigt.

Syntax

property Settings: TsgcHTTP3Settings read FSettings write SetSettings;

Typ

TsgcHTTP3Settings

Hinweise

Siehe die einzelnen Parameter unten.

Hinweise

Settings enthält den SETTINGS-Frame, den der Client beim Aufbau der Verbindung auf seinem Kontroll-Stream sendet (RFC 9114 Abschnitt 7.2.4). Er deklariert die Limits und die optionalen Funktionen, die der Client zu unterstützen bereit ist, und muss vor dem Verbinden konfiguriert werden.

Die Parameter sind:

QPACKMaxTableCapacity (Int64, Standard 0): maximale Größe in Bytes der dynamischen QPACK-Tabelle, die der Encoder des Peers verwenden darf. 0 deaktiviert die dynamische Tabelle, sodass Header nur gegen die statische Tabelle komprimiert werden.

MaxFieldSectionSize (Int64, Standard 0): größte Header-Sektion, die der Client akzeptiert, in Bytes. 0 bedeutet unbegrenzt.

QPACKBlockedStreams (Int64, Standard 0): wie viele Streams gleichzeitig blockiert auf QPACK-Einfügungen warten dürfen. Siehe BlockedThenResumedCount.

EnableConnectProtocol (Boolean, Standard False): kündigt die Unterstützung für Extended CONNECT an (RFC 9220 und RFC 8441).

EnableDatagram (Boolean, Standard False): kündigt Unterstützung für HTTP-Datagramme an (RFC 9297). Beachten Sie, dass damit nur die Fähigkeit angekündigt wird. Datagramme benötigen die QUIC-DATAGRAM-Erweiterung aus RFC 9221, die die mit der Bibliothek ausgelieferte integrierte QUIC-Engine von OpenSSL 3.5 nicht bereitstellt, sodass tatsächlich kein Datagramm übertragen wird.

WebTransportMaxSessions (Int64, Standard 0): wie viele gleichzeitige WebTransport-Sitzungen der Client akzeptiert. 0 deaktiviert WebTransport. Sitzungen transportieren aus dem oben genannten Datagramm-Grund ausschließlich Streams.

Die Werte, die der Server angekündigt hat, werden separat über PeerSettings bereitgestellt.

Beispiel



oClient.Settings.QPACKMaxTableCapacity := 4096;

oClient.Settings.QPACKBlockedStreams := 16;

oClient.Settings.EnableConnectProtocol := True;

Zurück zu Properties