Remove IETF QUIC Application Close frame, replace with Connection Close
This CL removes the IETF QUIC Application Close frame and replaces it with the Connection Close frame. QuicConnectionCloseFrame::close_type indicates whether the frame is a Google QUIC Connection Close, IETF QUIC Connection Close/Transport or IETF QUIC Connection Close/Application.
The QuicFramer::...ApplicationCloseFrame... methods are removed.
gfe-relnote: N/A affects only IETF-QUIC/V99 code. Application Close was IETF-QUIC only.
PiperOrigin-RevId: 242881293
Change-Id: I783cbf4e5f27d2e5abe3e8b518006de03c815e1a
diff --git a/quic/core/quic_dispatcher.cc b/quic/core/quic_dispatcher.cc
index 8024394..c9f5fbf 100644
--- a/quic/core/quic_dispatcher.cc
+++ b/quic/core/quic_dispatcher.cc
@@ -138,6 +138,11 @@
bool ietf_quic) {
QuicConnectionCloseFrame* frame =
new QuicConnectionCloseFrame(error_code, error_details);
+ // TODO(fkastenholz): The framer version may be incorrect in some cases.
+ if (framer_->transport_version() == QUIC_VERSION_99) {
+ frame->close_type = IETF_QUIC_TRANSPORT_CONNECTION_CLOSE;
+ }
+
if (!creator_.AddSavedFrame(QuicFrame(frame), NOT_RETRANSMISSION)) {
QUIC_BUG << "Unable to add frame to an empty packet";
delete frame;
@@ -916,7 +921,7 @@
}
bool QuicDispatcher::OnApplicationCloseFrame(
- const QuicApplicationCloseFrame& /*frame*/) {
+ const QuicConnectionCloseFrame& /*frame*/) {
DCHECK(false);
return false;
}