gfe-relnote: Refactor QuicConnectionCloseFrame. Not protected.
QuicConnectionCloseFrame::quic_error_code should not be accessed when using IETF
QUIC, however, as it is a public member, this is not enforced. When read, it
returns the on-the-wire error code (transport or application) cast into a
QuicErrorCode. This is bad.
Since public unions cannot enforce restrictions on access, I propose to remove
the union for clarity. The price paid is type: wire_error_code will now be
uint64_t even for Google QUIC error codes which could be QuicErrorCode, and for
IETF QUIC transport errors, which could be QuicIetfTransportErrorCodes.
Also rename extracted_error_code to quic_error_code for clarity, because for
sent frames, it is not extracted.
This refactor is necessary for modifying QuicErrorCodeToTransportErrorCode() to
return IETF wire error codes.
When using Google QUIC, old fields |quic_error_code| and |extracted_error_code|
and new fields |wire_error_code| and |quic_error_code| should always have the
same value, therefore this refactor should not introduce any functional change.
PiperOrigin-RevId: 304902883
Change-Id: I586a92609fb8a6186310f6585c8d29ee1d60af4f
11 files changed