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

Side by Side Diff: net/spdy/spdy_deframer_visitor.cc

Issue 2367973002: Log compressed size of HTTP/2 requests. (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
« no previous file with comments | « net/spdy/hpack/hpack_decoder.cc ('k') | net/spdy/spdy_flags.h » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2016 The Chromium Authors. All rights reserved. 1 // Copyright 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/spdy/spdy_deframer_visitor.h" 5 #include "net/spdy/spdy_deframer_visitor.h"
6 6
7 #include <stdlib.h> 7 #include <stdlib.h>
8 #include <string.h> 8 #include <string.h>
9 9
10 #include <algorithm> 10 #include <algorithm>
(...skipping 177 matching lines...) Expand 10 before | Expand all | Expand 10 after
188 bool fin, 188 bool fin,
189 bool unidirectional) override; 189 bool unidirectional) override;
190 bool OnUnknownFrame(SpdyStreamId stream_id, int frame_type) override; 190 bool OnUnknownFrame(SpdyStreamId stream_id, int frame_type) override;
191 void OnWindowUpdate(SpdyStreamId stream_id, int delta_window_size) override; 191 void OnWindowUpdate(SpdyStreamId stream_id, int delta_window_size) override;
192 192
193 // Callbacks defined in SpdyHeadersHandlerInterface. 193 // Callbacks defined in SpdyHeadersHandlerInterface.
194 194
195 void OnHeaderBlockStart() override; 195 void OnHeaderBlockStart() override;
196 void OnHeader(StringPiece key, StringPiece value) override; 196 void OnHeader(StringPiece key, StringPiece value) override;
197 void OnHeaderBlockEnd(size_t header_bytes_parsed) override; 197 void OnHeaderBlockEnd(size_t header_bytes_parsed) override;
198 void OnHeaderBlockEnd(size_t header_bytes_parsed,
199 size_t compressed_header_bytes_parsed) override;
198 200
199 protected: 201 protected:
200 void AtDataEnd(); 202 void AtDataEnd();
201 void AtGoAwayEnd(); 203 void AtGoAwayEnd();
202 void AtHeadersEnd(); 204 void AtHeadersEnd();
203 void AtPushPromiseEnd(); 205 void AtPushPromiseEnd();
204 206
205 // Per-physical frame state. 207 // Per-physical frame state.
206 // Frame type of the frame currently being processed. 208 // Frame type of the frame currently being processed.
207 Http2FrameType frame_type_ = UNSET; 209 Http2FrameType frame_type_ = UNSET;
(...skipping 627 matching lines...) Expand 10 before | Expand all | Expand 10 after
835 void SpdyTestDeframerImpl::OnHeaderBlockEnd(size_t header_bytes_parsed) { 837 void SpdyTestDeframerImpl::OnHeaderBlockEnd(size_t header_bytes_parsed) {
836 CHECK(headers_); 838 CHECK(headers_);
837 CHECK(frame_type_ == HEADERS || frame_type_ == CONTINUATION || 839 CHECK(frame_type_ == HEADERS || frame_type_ == CONTINUATION ||
838 frame_type_ == PUSH_PROMISE) 840 frame_type_ == PUSH_PROMISE)
839 << " frame_type_=" << Http2FrameTypeToString(frame_type_); 841 << " frame_type_=" << Http2FrameTypeToString(frame_type_);
840 CHECK(end_); 842 CHECK(end_);
841 CHECK(!got_hpack_end_); 843 CHECK(!got_hpack_end_);
842 got_hpack_end_ = true; 844 got_hpack_end_ = true;
843 } 845 }
844 846
847 void SpdyTestDeframerImpl::OnHeaderBlockEnd(
848 size_t /* header_bytes_parsed */,
849 size_t /* compressed_header_bytes_parsed */) {
850 CHECK(headers_);
851 CHECK(frame_type_ == HEADERS || frame_type_ == CONTINUATION ||
852 frame_type_ == PUSH_PROMISE)
853 << " frame_type_=" << Http2FrameTypeToString(frame_type_);
854 CHECK(end_);
855 CHECK(!got_hpack_end_);
856 got_hpack_end_ = true;
857 }
858
845 class LoggingSpdyDeframerDelegate : public SpdyDeframerVisitorInterface { 859 class LoggingSpdyDeframerDelegate : public SpdyDeframerVisitorInterface {
846 public: 860 public:
847 explicit LoggingSpdyDeframerDelegate( 861 explicit LoggingSpdyDeframerDelegate(
848 std::unique_ptr<SpdyDeframerVisitorInterface> wrapped) 862 std::unique_ptr<SpdyDeframerVisitorInterface> wrapped)
849 : wrapped_(std::move(wrapped)) { 863 : wrapped_(std::move(wrapped)) {
850 if (!wrapped_) { 864 if (!wrapped_) {
851 wrapped_ = MakeUnique<SpdyDeframerVisitorInterface>(); 865 wrapped_ = MakeUnique<SpdyDeframerVisitorInterface>();
852 } 866 }
853 } 867 }
854 ~LoggingSpdyDeframerDelegate() override {} 868 ~LoggingSpdyDeframerDelegate() override {}
(...skipping 234 matching lines...) Expand 10 before | Expand all | Expand 10 after
1089 // The SpdyFramer will not process any more data at this point. 1103 // The SpdyFramer will not process any more data at this point.
1090 void DeframerCallbackCollector::OnError(SpdyFramer* framer, 1104 void DeframerCallbackCollector::OnError(SpdyFramer* framer,
1091 SpdyTestDeframer* deframer) { 1105 SpdyTestDeframer* deframer) {
1092 CollectedFrame cf; 1106 CollectedFrame cf;
1093 cf.error_reported = true; 1107 cf.error_reported = true;
1094 collected_frames_->push_back(std::move(cf)); 1108 collected_frames_->push_back(std::move(cf));
1095 } 1109 }
1096 1110
1097 } // namespace test 1111 } // namespace test
1098 } // namespace net 1112 } // namespace net
OLDNEW
« no previous file with comments | « net/spdy/hpack/hpack_decoder.cc ('k') | net/spdy/spdy_flags.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698