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_connection.cc b/quic/core/quic_connection.cc
index d90413a..311651c 100644
--- a/quic/core/quic_connection.cc
+++ b/quic/core/quic_connection.cc
@@ -1253,7 +1253,7 @@
}
bool QuicConnection::OnApplicationCloseFrame(
- const QuicApplicationCloseFrame& frame) {
+ const QuicConnectionCloseFrame& frame) {
// TODO(fkastenholz): Need to figure out what the right thing is to do with
// this when we get one. Most likely, the correct action is to mimic the
// OnConnectionCloseFrame actions, with possibly an indication to the
@@ -3020,6 +3020,9 @@
}
QuicConnectionCloseFrame* frame =
new QuicConnectionCloseFrame(error, details);
+ if (transport_version() == QUIC_VERSION_99) {
+ frame->close_type = IETF_QUIC_TRANSPORT_CONNECTION_CLOSE;
+ }
packet_generator_.AddControlFrame(QuicFrame(frame));
packet_generator_.FlushAllQueuedFrames();
}