| Index: net/quic/quic_connection.cc
|
| diff --git a/net/quic/quic_connection.cc b/net/quic/quic_connection.cc
|
| index 08fc9026f811b0d602447200afbb7b6ca831377f..91bca3152011a31c9676f65de28b141129087963 100644
|
| --- a/net/quic/quic_connection.cc
|
| +++ b/net/quic/quic_connection.cc
|
| @@ -907,36 +907,59 @@ void QuicConnection::OnPacketComplete() {
|
|
|
| if (!last_stream_frames_.empty()) {
|
| visitor_->OnStreamFrames(last_stream_frames_);
|
| + if (!connected_ && !FLAGS_quic_stop_early) {
|
| + return;
|
| + }
|
| }
|
|
|
| for (size_t i = 0; i < last_stream_frames_.size(); ++i) {
|
| stats_.stream_bytes_received +=
|
| last_stream_frames_[i].data.TotalBufferSize();
|
| }
|
| -
|
| // Process window updates, blocked, stream resets, acks, then congestion
|
| // feedback.
|
| if (!last_window_update_frames_.empty()) {
|
| visitor_->OnWindowUpdateFrames(last_window_update_frames_);
|
| + if (!connected_ && !FLAGS_quic_stop_early) {
|
| + return;
|
| + }
|
| }
|
| if (!last_blocked_frames_.empty()) {
|
| visitor_->OnBlockedFrames(last_blocked_frames_);
|
| + if (!connected_ && !FLAGS_quic_stop_early) {
|
| + return;
|
| + }
|
| }
|
| for (size_t i = 0; i < last_goaway_frames_.size(); ++i) {
|
| visitor_->OnGoAway(last_goaway_frames_[i]);
|
| + if (!connected_ && !FLAGS_quic_stop_early) {
|
| + return;
|
| + }
|
| }
|
| for (size_t i = 0; i < last_rst_frames_.size(); ++i) {
|
| visitor_->OnRstStream(last_rst_frames_[i]);
|
| + if (!connected_ && !FLAGS_quic_stop_early) {
|
| + return;
|
| + }
|
| }
|
| for (size_t i = 0; i < last_ack_frames_.size(); ++i) {
|
| ProcessAckFrame(last_ack_frames_[i]);
|
| + if (!connected_ && !FLAGS_quic_stop_early) {
|
| + return;
|
| + }
|
| }
|
| for (size_t i = 0; i < last_stop_waiting_frames_.size(); ++i) {
|
| ProcessStopWaitingFrame(last_stop_waiting_frames_[i]);
|
| + if (!connected_ && !FLAGS_quic_stop_early) {
|
| + return;
|
| + }
|
| }
|
| if (!last_close_frames_.empty()) {
|
| CloseConnection(last_close_frames_[0].error_code, true);
|
| DCHECK(!connected_);
|
| + if (!FLAGS_quic_stop_early) {
|
| + return;
|
| + }
|
| }
|
|
|
| // If there are new missing packets to report, send an ack immediately.
|
|
|