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

Side by Side Diff: net/spdy/chromium/buffered_spdy_framer.cc

Issue 2847133003: Add NetLog event for invalid Http/2 response header (Closed)
Patch Set: address comments Created 3 years, 7 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) 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/spdy/chromium/buffered_spdy_framer.h" 5 #include "net/spdy/chromium/buffered_spdy_framer.h"
6 6
7 #include <algorithm> 7 #include <algorithm>
8 #include <utility> 8 #include <utility>
9 9
10 #include "base/logging.h" 10 #include "base/logging.h"
11 #include "base/memory/ptr_util.h" 11 #include "base/memory/ptr_util.h"
12 #include "base/strings/string_util.h" 12 #include "base/strings/string_util.h"
13 #include "net/spdy/platform/api/spdy_estimate_memory_usage.h" 13 #include "net/spdy/platform/api/spdy_estimate_memory_usage.h"
14 14
15 namespace net { 15 namespace net {
16 16
17 namespace { 17 namespace {
18 18
19 // GOAWAY frame debug data is only buffered up to this many bytes. 19 // GOAWAY frame debug data is only buffered up to this many bytes.
20 size_t kGoAwayDebugDataMaxSize = 1024; 20 size_t kGoAwayDebugDataMaxSize = 1024;
21 21
22 } // namespace 22 } // namespace
23 23
24 BufferedSpdyFramer::BufferedSpdyFramer() 24 BufferedSpdyFramer::BufferedSpdyFramer(const NetLogWithSource& net_log)
25 : spdy_framer_(SpdyFramer::ENABLE_COMPRESSION), 25 : spdy_framer_(SpdyFramer::ENABLE_COMPRESSION),
26 visitor_(NULL), 26 visitor_(NULL),
27 frames_received_(0) {} 27 frames_received_(0),
28 net_log_(net_log) {}
28 29
29 BufferedSpdyFramer::~BufferedSpdyFramer() { 30 BufferedSpdyFramer::~BufferedSpdyFramer() {
30 } 31 }
31 32
32 void BufferedSpdyFramer::set_visitor( 33 void BufferedSpdyFramer::set_visitor(
33 BufferedSpdyFramerVisitorInterface* visitor) { 34 BufferedSpdyFramerVisitorInterface* visitor) {
34 visitor_ = visitor; 35 visitor_ = visitor;
35 spdy_framer_.set_visitor(this); 36 spdy_framer_.set_visitor(this);
36 } 37 }
37 38
(...skipping 46 matching lines...) Expand 10 before | Expand all | Expand 10 after
84 void BufferedSpdyFramer::OnStreamEnd(SpdyStreamId stream_id) { 85 void BufferedSpdyFramer::OnStreamEnd(SpdyStreamId stream_id) {
85 visitor_->OnStreamEnd(stream_id); 86 visitor_->OnStreamEnd(stream_id);
86 } 87 }
87 88
88 void BufferedSpdyFramer::OnStreamPadding(SpdyStreamId stream_id, size_t len) { 89 void BufferedSpdyFramer::OnStreamPadding(SpdyStreamId stream_id, size_t len) {
89 visitor_->OnStreamPadding(stream_id, len); 90 visitor_->OnStreamPadding(stream_id, len);
90 } 91 }
91 92
92 SpdyHeadersHandlerInterface* BufferedSpdyFramer::OnHeaderFrameStart( 93 SpdyHeadersHandlerInterface* BufferedSpdyFramer::OnHeaderFrameStart(
93 SpdyStreamId stream_id) { 94 SpdyStreamId stream_id) {
94 coalescer_.reset(new HeaderCoalescer()); 95 coalescer_.reset(new HeaderCoalescer(net_log_));
95 return coalescer_.get(); 96 return coalescer_.get();
96 } 97 }
97 98
98 void BufferedSpdyFramer::OnHeaderFrameEnd(SpdyStreamId stream_id, 99 void BufferedSpdyFramer::OnHeaderFrameEnd(SpdyStreamId stream_id,
99 bool end_headers) { 100 bool end_headers) {
100 if (coalescer_->error_seen()) { 101 if (coalescer_->error_seen()) {
101 visitor_->OnStreamError(stream_id, 102 visitor_->OnStreamError(stream_id,
102 "Could not parse Spdy Control Frame Header."); 103 "Could not parse Spdy Control Frame Header.");
103 control_frame_fields_.reset(); 104 control_frame_fields_.reset();
104 return; 105 return;
(...skipping 206 matching lines...) Expand 10 before | Expand all | Expand 10 after
311 SpdyEstimateMemoryUsage(coalescer_) + 312 SpdyEstimateMemoryUsage(coalescer_) +
312 SpdyEstimateMemoryUsage(control_frame_fields_) + 313 SpdyEstimateMemoryUsage(control_frame_fields_) +
313 SpdyEstimateMemoryUsage(goaway_fields_); 314 SpdyEstimateMemoryUsage(goaway_fields_);
314 } 315 }
315 316
316 size_t BufferedSpdyFramer::GoAwayFields::EstimateMemoryUsage() const { 317 size_t BufferedSpdyFramer::GoAwayFields::EstimateMemoryUsage() const {
317 return SpdyEstimateMemoryUsage(debug_data); 318 return SpdyEstimateMemoryUsage(debug_data);
318 } 319 }
319 320
320 } // namespace net 321 } // namespace net
OLDNEW
« no previous file with comments | « net/spdy/chromium/buffered_spdy_framer.h ('k') | net/spdy/chromium/buffered_spdy_framer_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698