Index: net/quic/quic_connection.cc |
diff --git a/net/quic/quic_connection.cc b/net/quic/quic_connection.cc |
index 07606eba0ca3a254c2d9b8146965b4b60cc1f85f..5c9ec0e4e3fc14c7d4d3b11adf4eb6f6f9fc2055 100644 |
--- a/net/quic/quic_connection.cc |
+++ b/net/quic/quic_connection.cc |
@@ -1162,6 +1162,12 @@ void QuicConnection::SendRstStream(QuicStreamId id, |
packet_generator_.AddControlFrame(QuicFrame(new QuicRstStreamFrame( |
id, AdjustErrorForVersion(error, version()), bytes_written))); |
+ if (error == QUIC_STREAM_NO_ERROR && version() > QUIC_VERSION_28) { |
+ // All data for streams which are reset with QUIC_STREAM_NO_ERROR must |
+ // be received by the peer. |
+ return; |
+ } |
+ |
sent_packet_manager_.CancelRetransmissionsForStream(id); |
// Remove all queued packets which only contain data for the reset stream. |
QueuedPacketList::iterator packet_iterator = queued_packets_.begin(); |