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
diff --git a/quic/core/quic_framer.h b/quic/core/quic_framer.h
index 746e6a1..f0c694a 100644
--- a/quic/core/quic_framer.h
+++ b/quic/core/quic_framer.h
@@ -1097,9 +1097,10 @@
// This text, inserted by the peer if it's using Google's QUIC implementation,
// contains additional error information that narrows down the exact error. The
// extracted error code and (possibly updated) error_details string are returned
-// in |*frame|. If an error code is not found in the error details then the
-// extracted_error_code is set to QuicErrorCode::QUIC_IETF_GQUIC_ERROR_MISSING.
-// If there is an error code in the string then it is removed from the string.
+// in |*frame|. If an error code is not found in the error details, then
+// frame->quic_error_code is set to
+// QuicErrorCode::QUIC_IETF_GQUIC_ERROR_MISSING. If there is an error code in
+// the string then it is removed from the string.
QUIC_EXPORT_PRIVATE void MaybeExtractQuicErrorCode(
QuicConnectionCloseFrame* frame);