summaryrefslogtreecommitdiffstats
path: root/tests/benchmarks/gui/animation/qanimation/rectanimation.cpp
diff options
context:
space:
mode:
authorDennis Oberst <dennis.oberst@qt.io>2025-12-10 19:43:21 +0100
committerDennis Oberst <dennis.oberst@qt.io>2025-12-22 11:04:42 +0100
commit7a63e6ff48f69599a144d37b181a3aeaadc41114 (patch)
treef6307b18fdfe843cac280c5eb5a634efc8e635a4 /tests/benchmarks/gui/animation/qanimation/rectanimation.cpp
parentbc9b70cc6d3c1ec5285c3bd91180509d1b19575d (diff)
QHttp2Connection: implement RFC compliant GOAWAY graceful shutdownHEADdev
This patch implements proper HTTP/2 graceful shutdown per RFC 9113, section 6.8, with distinct handling for servers and clients: Server-initiated shutdown (two-phase GOAWAY): 1. Initial GOAWAY with lastStreamID=2^31-1 signals shutdown imminent 2. PING measures RTT to allow in-flight stream creation to complete 3. Final GOAWAY with actual lastStreamID after RTT Client-initiated shutdown (single GOAWAY): Clients don't need two-phase GOAWAY because they control their own stream creation and there's no race condition. Client sends single GOAWAY frames. RFC 9113 6.8 specifies that a peer MUST NOT increase the Last-Stream-ID in successive GOAWAY frames on the same connection. An increase must be treated as a PROTOCOL_ERROR. This patch enforces that requirement. Ref: https://datatracker.ietf.org/doc/html/rfc9113#section-6.8-17 Unified close() API, that uses two-phase graceful shutdown for servers, and terminates the connection, per RFC 5.4.1 Ref: https://datatracker.ietf.org/doc/html/rfc9113#section-5.4.1-2 Unified closeSession() checking during goaway with 'maybeCloseOnGoingAway'. Notably, we add a check when any stream transitions to Closed. Separation of m_goingAway and m_connectionAborted states: - m_goingAway: Graceful shutdown in progress, allows completion of existing streams. - m_connectionAborted: Fatal error occurred, immediately prevents further frame processing Add extensive testing for client and server - initiated close(). Task-number: QTBUG-135049 Pick-to: 6.11 6.10 Change-Id: I4ab85d0c49712acab85bf703d07239a19b6bff92 Reviewed-by: MÃ¥rten Nordheim <marten.nordheim@qt.io>
Diffstat (limited to 'tests/benchmarks/gui/animation/qanimation/rectanimation.cpp')
0 files changed, 0 insertions, 0 deletions