Add datatypes needed for IETF CONNECTION_CLOSE support.
This CL adds datatypes that are needed to support IETF QUIC's CONNECTION_CLOSE.
The types are
- union QuicConnectionCloseErrorCode: a union that allows the frame's error
code field to be accessed using the correct type (QuicErrorCode,
QuicIetfTransportErrorCode, or uint16_t), and
- enum QuicConnectionCloseType: indicates the type of connection close
(Google-QUIC, IETF QUIC Connection Close/Application, or IETF QUIC
Connection Close/Transport).
QuicConnectionCloseFrame is updated to include these fields.
QuicFramer is updated to set them to reasonable defaults/etc.
Code that refers to QuicConnectionCloseFrame::error_code has been
modified to get the error code value from the QuicErrorCode member
of the QuicConnectionCloseErrorCode union.
There are no logic or functional changes. Additional CLs will add the necessary functionality.
gfe-relnote: Not flag protected, all code changes due to field name/etc changes.
ENUM_VALUE_OK=This value change is OK, it is the maximum value/limit of the enum
The design, including rationale and approximate plan for Cls is in
https://docs.google.com/document/d/1LB1Dhyw7tVLmFFEqmW6_xxnNiExNtlShJXrNU3CDM0M/edit?usp=sharing
PiperOrigin-RevId: 242647040
Change-Id: I3e45879777d83e7a8aeb2e19257b8bafcd0101bd
diff --git a/quic/core/quic_framer.h b/quic/core/quic_framer.h
index b431f14..84773b4 100644
--- a/quic/core/quic_framer.h
+++ b/quic/core/quic_framer.h
@@ -774,6 +774,7 @@
uint8_t frame_type,
QuicStreamFrame* frame);
bool ProcessIetfConnectionCloseFrame(QuicDataReader* reader,
+ QuicConnectionCloseType type,
QuicConnectionCloseFrame* frame);
bool ProcessApplicationCloseFrame(QuicDataReader* reader,
QuicApplicationCloseFrame* frame);