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

Side by Side Diff: net/quic/chromium/quic_chromium_client_stream.cc

Issue 2462823002: Deletes dead code. (Closed)
Patch Set: Updated patchset dependency Created 4 years, 1 month 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) 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/chromium/quic_chromium_client_stream.h" 5 #include "net/quic/chromium/quic_chromium_client_stream.h"
6 6
7 #include <utility> 7 #include <utility>
8 8
9 #include "base/bind_helpers.h" 9 #include "base/bind_helpers.h"
10 #include "base/callback_helpers.h" 10 #include "base/callback_helpers.h"
(...skipping 20 matching lines...) Expand all
31 headers_delivered_(false), 31 headers_delivered_(false),
32 session_(session), 32 session_(session),
33 can_migrate_(true), 33 can_migrate_(true),
34 weak_factory_(this) {} 34 weak_factory_(this) {}
35 35
36 QuicChromiumClientStream::~QuicChromiumClientStream() { 36 QuicChromiumClientStream::~QuicChromiumClientStream() {
37 if (delegate_) 37 if (delegate_)
38 delegate_->OnClose(); 38 delegate_->OnClose();
39 } 39 }
40 40
41 void QuicChromiumClientStream::OnStreamHeadersComplete(bool fin,
42 size_t frame_len) {
43 QuicSpdyStream::OnStreamHeadersComplete(fin, frame_len);
44 if (decompressed_headers().empty() && !decompressed_trailers().empty()) {
45 DCHECK(trailers_decompressed());
46 // The delegate will read the trailers via a posted task.
47 NotifyDelegateOfHeadersCompleteLater(received_trailers().Clone(),
48 frame_len);
49 } else {
50 DCHECK(!headers_delivered_);
51 SpdyHeaderBlock headers;
52 SpdyFramer framer(HTTP2);
53 size_t headers_len = decompressed_headers().length();
54 const char* header_data = decompressed_headers().data();
55 if (!framer.ParseHeaderBlockInBuffer(header_data, headers_len, &headers)) {
56 DLOG(WARNING) << "Invalid headers";
57 Reset(QUIC_BAD_APPLICATION_PAYLOAD);
58 return;
59 }
60 MarkHeadersConsumed(headers_len);
61 session_->OnInitialHeadersComplete(id(), headers);
62
63 // The delegate will read the headers via a posted task.
64 NotifyDelegateOfHeadersCompleteLater(std::move(headers), frame_len);
65 }
66 }
67
68 void QuicChromiumClientStream::OnInitialHeadersComplete( 41 void QuicChromiumClientStream::OnInitialHeadersComplete(
69 bool fin, 42 bool fin,
70 size_t frame_len, 43 size_t frame_len,
71 const QuicHeaderList& header_list) { 44 const QuicHeaderList& header_list) {
72 QuicSpdyStream::OnInitialHeadersComplete(fin, frame_len, header_list); 45 QuicSpdyStream::OnInitialHeadersComplete(fin, frame_len, header_list);
73 46
74 SpdyHeaderBlock header_block; 47 SpdyHeaderBlock header_block;
75 int64_t length = -1; 48 int64_t length = -1;
76 if (!SpdyUtils::CopyAndValidateHeaders(header_list, &length, &header_block)) { 49 if (!SpdyUtils::CopyAndValidateHeaders(header_list, &length, &header_block)) {
77 DLOG(ERROR) << "Failed to parse header list: " << header_list.DebugString(); 50 DLOG(ERROR) << "Failed to parse header list: " << header_list.DebugString();
(...skipping 10 matching lines...) Expand all
88 } 61 }
89 62
90 void QuicChromiumClientStream::OnTrailingHeadersComplete( 63 void QuicChromiumClientStream::OnTrailingHeadersComplete(
91 bool fin, 64 bool fin,
92 size_t frame_len, 65 size_t frame_len,
93 const QuicHeaderList& header_list) { 66 const QuicHeaderList& header_list) {
94 QuicSpdyStream::OnTrailingHeadersComplete(fin, frame_len, header_list); 67 QuicSpdyStream::OnTrailingHeadersComplete(fin, frame_len, header_list);
95 NotifyDelegateOfHeadersCompleteLater(received_trailers().Clone(), frame_len); 68 NotifyDelegateOfHeadersCompleteLater(received_trailers().Clone(), frame_len);
96 } 69 }
97 70
98 void QuicChromiumClientStream::OnPromiseHeadersComplete(
99 QuicStreamId promised_id,
100 size_t frame_len) {
101 size_t headers_len = decompressed_headers().length();
102 SpdyHeaderBlock headers;
103 SpdyFramer framer(HTTP2);
104 if (!framer.ParseHeaderBlockInBuffer(decompressed_headers().data(),
105 headers_len, &headers)) {
106 DLOG(WARNING) << "Invalid headers";
107 Reset(QUIC_BAD_APPLICATION_PAYLOAD);
108 return;
109 }
110 MarkHeadersConsumed(headers_len);
111
112 session_->HandlePromised(id(), promised_id, headers);
113 }
114
115 void QuicChromiumClientStream::OnPromiseHeaderList( 71 void QuicChromiumClientStream::OnPromiseHeaderList(
116 QuicStreamId promised_id, 72 QuicStreamId promised_id,
117 size_t frame_len, 73 size_t frame_len,
118 const QuicHeaderList& header_list) { 74 const QuicHeaderList& header_list) {
119 SpdyHeaderBlock promise_headers; 75 SpdyHeaderBlock promise_headers;
120 int64_t content_length = -1; 76 int64_t content_length = -1;
121 if (!SpdyUtils::CopyAndValidateHeaders(header_list, &content_length, 77 if (!SpdyUtils::CopyAndValidateHeaders(header_list, &content_length,
122 &promise_headers)) { 78 &promise_headers)) {
123 DLOG(ERROR) << "Failed to parse header list: " << header_list.DebugString(); 79 DLOG(ERROR) << "Failed to parse header list: " << header_list.DebugString();
124 ConsumeHeaderList(); 80 ConsumeHeaderList();
(...skipping 159 matching lines...) Expand 10 before | Expand all | Expand 10 after
284 weak_factory_.GetWeakPtr(), base::Passed(std::move(headers)), frame_len)); 240 weak_factory_.GetWeakPtr(), base::Passed(std::move(headers)), frame_len));
285 } 241 }
286 242
287 void QuicChromiumClientStream::NotifyDelegateOfHeadersComplete( 243 void QuicChromiumClientStream::NotifyDelegateOfHeadersComplete(
288 SpdyHeaderBlock headers, 244 SpdyHeaderBlock headers,
289 size_t frame_len) { 245 size_t frame_len) {
290 if (!delegate_) 246 if (!delegate_)
291 return; 247 return;
292 // Only mark trailers consumed when we are about to notify delegate. 248 // Only mark trailers consumed when we are about to notify delegate.
293 if (headers_delivered_) { 249 if (headers_delivered_) {
294 MarkTrailersConsumed(decompressed_trailers().length());
295 MarkTrailersConsumed(); 250 MarkTrailersConsumed();
296 // Post an async task to notify delegate of the FIN flag. 251 // Post an async task to notify delegate of the FIN flag.
297 NotifyDelegateOfDataAvailableLater(); 252 NotifyDelegateOfDataAvailableLater();
298 net_log_.AddEvent( 253 net_log_.AddEvent(
299 NetLogEventType::QUIC_CHROMIUM_CLIENT_STREAM_READ_RESPONSE_TRAILERS, 254 NetLogEventType::QUIC_CHROMIUM_CLIENT_STREAM_READ_RESPONSE_TRAILERS,
300 base::Bind(&SpdyHeaderBlockNetLogCallback, &headers)); 255 base::Bind(&SpdyHeaderBlockNetLogCallback, &headers));
301 } else { 256 } else {
302 headers_delivered_ = true; 257 headers_delivered_ = true;
303 net_log_.AddEvent( 258 net_log_.AddEvent(
304 NetLogEventType::QUIC_CHROMIUM_CLIENT_STREAM_READ_RESPONSE_HEADERS, 259 NetLogEventType::QUIC_CHROMIUM_CLIENT_STREAM_READ_RESPONSE_HEADERS,
(...skipping 24 matching lines...) Expand all
329 284
330 void QuicChromiumClientStream::DisableConnectionMigration() { 285 void QuicChromiumClientStream::DisableConnectionMigration() {
331 can_migrate_ = false; 286 can_migrate_ = false;
332 } 287 }
333 288
334 bool QuicChromiumClientStream::IsFirstStream() { 289 bool QuicChromiumClientStream::IsFirstStream() {
335 return id() == kHeadersStreamId + 2; 290 return id() == kHeadersStreamId + 2;
336 } 291 }
337 292
338 } // namespace net 293 } // namespace net
OLDNEW
« no previous file with comments | « net/quic/chromium/quic_chromium_client_stream.h ('k') | net/quic/chromium/quic_chromium_client_stream_test.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698