Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(597)

Side by Side Diff: net/quic/core/quic_client_promised_info.cc

Issue 2412483004: relnote: Add a new RstStreamErrorCode for resetting streams due to push stream is unclaimed and tim… (Closed)
Patch Set: Created 4 years, 2 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 // Copyright (c) 2016 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2016 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/core/quic_client_promised_info.h" 5 #include "net/quic/core/quic_client_promised_info.h"
6 6
7 #include "base/logging.h" 7 #include "base/logging.h"
8 #include "net/quic/core/spdy_utils.h" 8 #include "net/quic/core/spdy_utils.h"
9 9
10 using net::SpdyHeaderBlock; 10 using net::SpdyHeaderBlock;
11 using net::kPushPromiseTimeoutSecs; 11 using net::kPushPromiseTimeoutSecs;
12 using std::string; 12 using std::string;
13 13
14 namespace net { 14 namespace net {
15 15
16 QuicClientPromisedInfo::QuicClientPromisedInfo(QuicClientSessionBase* session, 16 QuicClientPromisedInfo::QuicClientPromisedInfo(QuicClientSessionBase* session,
17 QuicStreamId id, 17 QuicStreamId id,
18 string url) 18 string url)
19 : session_(session), 19 : session_(session),
20 id_(id), 20 id_(id),
21 url_(std::move(url)), 21 url_(std::move(url)),
22 client_request_delegate_(nullptr) {} 22 client_request_delegate_(nullptr) {}
23 23
24 QuicClientPromisedInfo::~QuicClientPromisedInfo() {} 24 QuicClientPromisedInfo::~QuicClientPromisedInfo() {}
25 25
26 void QuicClientPromisedInfo::CleanupAlarm::OnAlarm() { 26 void QuicClientPromisedInfo::CleanupAlarm::OnAlarm() {
27 DVLOG(1) << "self GC alarm for stream " << promised_->id_; 27 DVLOG(1) << "self GC alarm for stream " << promised_->id_;
28 promised_->Reset(QUIC_STREAM_CANCELLED); 28 if (FLAGS_quic_send_push_stream_timed_out_error) {
29 promised_->Reset(QUIC_PUSH_STREAM_TIMED_OUT);
30 } else {
31 promised_->Reset(QUIC_STREAM_CANCELLED);
32 }
29 } 33 }
30 34
31 void QuicClientPromisedInfo::Init() { 35 void QuicClientPromisedInfo::Init() {
32 cleanup_alarm_.reset(session_->connection()->alarm_factory()->CreateAlarm( 36 cleanup_alarm_.reset(session_->connection()->alarm_factory()->CreateAlarm(
33 new QuicClientPromisedInfo::CleanupAlarm(this))); 37 new QuicClientPromisedInfo::CleanupAlarm(this)));
34 cleanup_alarm_->Set( 38 cleanup_alarm_->Set(
35 session_->connection()->helper()->GetClock()->ApproximateNow() + 39 session_->connection()->helper()->GetClock()->ApproximateNow() +
36 QuicTime::Delta::FromSeconds(kPushPromiseTimeoutSecs)); 40 QuicTime::Delta::FromSeconds(kPushPromiseTimeoutSecs));
37 } 41 }
38 42
(...skipping 75 matching lines...) Expand 10 before | Expand all | Expand 10 after
114 return FinalValidation(); 118 return FinalValidation();
115 } 119 }
116 120
117 void QuicClientPromisedInfo::Cancel() { 121 void QuicClientPromisedInfo::Cancel() {
118 // Don't fire OnRendezvousResult() for client initiated cancel. 122 // Don't fire OnRendezvousResult() for client initiated cancel.
119 client_request_delegate_ = nullptr; 123 client_request_delegate_ = nullptr;
120 Reset(QUIC_STREAM_CANCELLED); 124 Reset(QUIC_STREAM_CANCELLED);
121 } 125 }
122 126
123 } // namespace net 127 } // namespace net
OLDNEW
« no previous file with comments | « no previous file | net/quic/core/quic_client_promised_info_test.cc » ('j') | net/quic/core/quic_flags_list.h » ('J')

Powered by Google App Engine
This is Rietveld 408576698