OLD | NEW |
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #include "net/quic/quic_http_stream.h" | 5 #include "net/quic/quic_http_stream.h" |
6 | 6 |
7 #include "base/callback_helpers.h" | 7 #include "base/callback_helpers.h" |
8 #include "base/metrics/histogram_macros.h" | 8 #include "base/metrics/histogram_macros.h" |
9 #include "base/strings/string_split.h" | 9 #include "base/strings/string_split.h" |
10 #include "base/strings/stringprintf.h" | 10 #include "base/strings/stringprintf.h" |
(...skipping 593 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
604 NOTREACHED() << "next_state_: " << next_state_; | 604 NOTREACHED() << "next_state_: " << next_state_; |
605 break; | 605 break; |
606 } | 606 } |
607 } while (next_state_ != STATE_NONE && next_state_ != STATE_OPEN && | 607 } while (next_state_ != STATE_NONE && next_state_ != STATE_OPEN && |
608 rv != ERR_IO_PENDING); | 608 rv != ERR_IO_PENDING); |
609 | 609 |
610 return rv; | 610 return rv; |
611 } | 611 } |
612 | 612 |
613 int QuicHttpStream::DoStreamRequest() { | 613 int QuicHttpStream::DoStreamRequest() { |
614 if (session_.get() == nullptr) { | 614 // TODO(rtenneti) Bug: b/28676259 - a temporary fix until we find out why |
615 // TODO(rtenneti) Bug: b/28676259 - a temporary fix until we find out why | 615 // |session_| could be a nullptr. Delete |null_session| check and histogram if |
616 // |session_| could be a nullptr. | 616 // session is never a nullptr. |
| 617 bool null_session = session_ == nullptr; |
| 618 if (null_session) { |
| 619 UMA_HISTOGRAM_BOOLEAN("Net.QuicHttpStream::DoStreamRequest.IsNullSession", |
| 620 null_session); |
617 return was_handshake_confirmed_ ? ERR_CONNECTION_CLOSED | 621 return was_handshake_confirmed_ ? ERR_CONNECTION_CLOSED |
618 : ERR_QUIC_HANDSHAKE_FAILED; | 622 : ERR_QUIC_HANDSHAKE_FAILED; |
619 } | 623 } |
620 int rv = stream_request_.StartRequest( | 624 int rv = stream_request_.StartRequest( |
621 session_, &stream_, | 625 session_, &stream_, |
622 base::Bind(&QuicHttpStream::OnStreamReady, weak_factory_.GetWeakPtr())); | 626 base::Bind(&QuicHttpStream::OnStreamReady, weak_factory_.GetWeakPtr())); |
623 if (rv == OK) { | 627 if (rv == OK) { |
624 stream_->SetDelegate(this); | 628 stream_->SetDelegate(this); |
625 if (request_info_->load_flags & LOAD_DISABLE_CONNECTION_MIGRATION) { | 629 if (request_info_->load_flags & LOAD_DISABLE_CONNECTION_MIGRATION) { |
626 stream_->DisableConnectionMigration(); | 630 stream_->DisableConnectionMigration(); |
(...skipping 181 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
808 closed_stream_sent_bytes_ = stream_->stream_bytes_written(); | 812 closed_stream_sent_bytes_ = stream_->stream_bytes_written(); |
809 stream_ = nullptr; | 813 stream_ = nullptr; |
810 | 814 |
811 // If |request_body_stream_| is non-NULL, Reset it, to abort any in progress | 815 // If |request_body_stream_| is non-NULL, Reset it, to abort any in progress |
812 // read. | 816 // read. |
813 if (request_body_stream_) | 817 if (request_body_stream_) |
814 request_body_stream_->Reset(); | 818 request_body_stream_->Reset(); |
815 } | 819 } |
816 | 820 |
817 } // namespace net | 821 } // namespace net |
OLD | NEW |