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

Side by Side Diff: net/spdy/buffered_spdy_framer.h

Issue 2141993002: Remove many-many SpdyMajorVersion and NextProto arguments and members. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Remove OnSynStream() and OnSynReply(). Created 4 years, 5 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/bidirectional_stream_spdy_impl_unittest.cc ('k') | net/spdy/buffered_spdy_framer.cc » ('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 (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 #ifndef NET_SPDY_BUFFERED_SPDY_FRAMER_H_ 5 #ifndef NET_SPDY_BUFFERED_SPDY_FRAMER_H_
6 #define NET_SPDY_BUFFERED_SPDY_FRAMER_H_ 6 #define NET_SPDY_BUFFERED_SPDY_FRAMER_H_
7 7
8 #include <stddef.h> 8 #include <stddef.h>
9 #include <stdint.h> 9 #include <stdint.h>
10 10
11 #include <memory> 11 #include <memory>
12 #include <string> 12 #include <string>
13 13
14 #include "base/macros.h" 14 #include "base/macros.h"
15 #include "net/base/net_export.h" 15 #include "net/base/net_export.h"
16 #include "net/socket/next_proto.h"
17 #include "net/spdy/header_coalescer.h" 16 #include "net/spdy/header_coalescer.h"
18 #include "net/spdy/spdy_alt_svc_wire_format.h" 17 #include "net/spdy/spdy_alt_svc_wire_format.h"
19 #include "net/spdy/spdy_framer.h" 18 #include "net/spdy/spdy_framer.h"
20 #include "net/spdy/spdy_header_block.h" 19 #include "net/spdy/spdy_header_block.h"
21 #include "net/spdy/spdy_protocol.h" 20 #include "net/spdy/spdy_protocol.h"
22 21
23 namespace net { 22 namespace net {
24 23
25 // Returns the SPDY major version corresponding to the given NextProto
26 // value, which must represent a SPDY-like protocol.
27 NET_EXPORT_PRIVATE SpdyMajorVersion NextProtoToSpdyMajorVersion(
28 NextProto next_proto);
29
30 class NET_EXPORT_PRIVATE BufferedSpdyFramerVisitorInterface { 24 class NET_EXPORT_PRIVATE BufferedSpdyFramerVisitorInterface {
31 public: 25 public:
32 BufferedSpdyFramerVisitorInterface() {} 26 BufferedSpdyFramerVisitorInterface() {}
33 27
34 // Called if an error is detected in the SpdySerializedFrame protocol. 28 // Called if an error is detected in the SpdySerializedFrame protocol.
35 virtual void OnError(SpdyFramer::SpdyError error_code) = 0; 29 virtual void OnError(SpdyFramer::SpdyError error_code) = 0;
36 30
37 // Called if an error is detected in a SPDY stream. 31 // Called if an error is detected in a SPDY stream.
38 virtual void OnStreamError(SpdyStreamId stream_id, 32 virtual void OnStreamError(SpdyStreamId stream_id,
39 const std::string& description) = 0; 33 const std::string& description) = 0;
40 34
41 // Called after all the header data for SYN_STREAM control frame is received.
42 virtual void OnSynStream(SpdyStreamId stream_id,
43 SpdyStreamId associated_stream_id,
44 SpdyPriority priority,
45 bool fin,
46 bool unidirectional,
47 const SpdyHeaderBlock& headers) = 0;
48
49 // Called after all the header data for SYN_REPLY control frame is received.
50 virtual void OnSynReply(SpdyStreamId stream_id,
51 bool fin,
52 const SpdyHeaderBlock& headers) = 0;
53
54 // Called after all the header data for HEADERS control frame is received. 35 // Called after all the header data for HEADERS control frame is received.
55 virtual void OnHeaders(SpdyStreamId stream_id, 36 virtual void OnHeaders(SpdyStreamId stream_id,
56 bool has_priority, 37 bool has_priority,
57 int weight, 38 int weight,
58 SpdyStreamId parent_stream_id, 39 SpdyStreamId parent_stream_id,
59 bool exclusive, 40 bool exclusive,
60 bool fin, 41 bool fin,
61 const SpdyHeaderBlock& headers) = 0; 42 const SpdyHeaderBlock& headers) = 0;
62 43
63 // Called when a data frame header is received. 44 // Called when a data frame header is received.
(...skipping 69 matching lines...) Expand 10 before | Expand all | Expand 10 after
133 protected: 114 protected:
134 virtual ~BufferedSpdyFramerVisitorInterface() {} 115 virtual ~BufferedSpdyFramerVisitorInterface() {}
135 116
136 private: 117 private:
137 DISALLOW_COPY_AND_ASSIGN(BufferedSpdyFramerVisitorInterface); 118 DISALLOW_COPY_AND_ASSIGN(BufferedSpdyFramerVisitorInterface);
138 }; 119 };
139 120
140 class NET_EXPORT_PRIVATE BufferedSpdyFramer 121 class NET_EXPORT_PRIVATE BufferedSpdyFramer
141 : public SpdyFramerVisitorInterface { 122 : public SpdyFramerVisitorInterface {
142 public: 123 public:
143 explicit BufferedSpdyFramer(SpdyMajorVersion version); 124 BufferedSpdyFramer();
144 ~BufferedSpdyFramer() override; 125 ~BufferedSpdyFramer() override;
145 126
146 // Sets callbacks to be called from the buffered spdy framer. A visitor must 127 // Sets callbacks to be called from the buffered spdy framer. A visitor must
147 // be set, or else the framer will likely crash. It is acceptable for the 128 // be set, or else the framer will likely crash. It is acceptable for the
148 // visitor to do nothing. If this is called multiple times, only the last 129 // visitor to do nothing. If this is called multiple times, only the last
149 // visitor will be used. 130 // visitor will be used.
150 void set_visitor(BufferedSpdyFramerVisitorInterface* visitor); 131 void set_visitor(BufferedSpdyFramerVisitorInterface* visitor);
151 132
152 // Set debug callbacks to be called from the framer. The debug visitor is 133 // Set debug callbacks to be called from the framer. The debug visitor is
153 // completely optional and need not be set in order for normal operation. 134 // completely optional and need not be set in order for normal operation.
(...skipping 44 matching lines...) Expand 10 before | Expand all | Expand 10 after
198 const SpdyAltSvcWireFormat::AlternativeServiceVector& 179 const SpdyAltSvcWireFormat::AlternativeServiceVector&
199 altsvc_vector) override; 180 altsvc_vector) override;
200 void OnDataFrameHeader(SpdyStreamId stream_id, 181 void OnDataFrameHeader(SpdyStreamId stream_id,
201 size_t length, 182 size_t length,
202 bool fin) override; 183 bool fin) override;
203 void OnContinuation(SpdyStreamId stream_id, bool end) override; 184 void OnContinuation(SpdyStreamId stream_id, bool end) override;
204 bool OnUnknownFrame(SpdyStreamId stream_id, int frame_type) override; 185 bool OnUnknownFrame(SpdyStreamId stream_id, int frame_type) override;
205 186
206 // SpdyFramer methods. 187 // SpdyFramer methods.
207 size_t ProcessInput(const char* data, size_t len); 188 size_t ProcessInput(const char* data, size_t len);
208 SpdyMajorVersion protocol_version();
209 void Reset(); 189 void Reset();
210 SpdyFramer::SpdyError error_code() const; 190 SpdyFramer::SpdyError error_code() const;
211 SpdyFramer::SpdyState state() const; 191 SpdyFramer::SpdyState state() const;
212 bool MessageFullyRead(); 192 bool MessageFullyRead();
213 bool HasError(); 193 bool HasError();
214 SpdySerializedFrame* CreateSynStream(SpdyStreamId stream_id, 194 SpdySerializedFrame* CreateSynStream(SpdyStreamId stream_id,
215 SpdyStreamId associated_stream_id, 195 SpdyStreamId associated_stream_id,
216 SpdyPriority priority, 196 SpdyPriority priority,
217 SpdyControlFlags flags, 197 SpdyControlFlags flags,
218 SpdyHeaderBlock headers); 198 SpdyHeaderBlock headers);
(...skipping 92 matching lines...) Expand 10 before | Expand all | Expand 10 after
311 std::unique_ptr<GoAwayFields> goaway_fields_; 291 std::unique_ptr<GoAwayFields> goaway_fields_;
312 292
313 std::unique_ptr<HeaderCoalescer> coalescer_; 293 std::unique_ptr<HeaderCoalescer> coalescer_;
314 294
315 DISALLOW_COPY_AND_ASSIGN(BufferedSpdyFramer); 295 DISALLOW_COPY_AND_ASSIGN(BufferedSpdyFramer);
316 }; 296 };
317 297
318 } // namespace net 298 } // namespace net
319 299
320 #endif // NET_SPDY_BUFFERED_SPDY_FRAMER_H_ 300 #endif // NET_SPDY_BUFFERED_SPDY_FRAMER_H_
OLDNEW
« no previous file with comments | « net/spdy/bidirectional_stream_spdy_impl_unittest.cc ('k') | net/spdy/buffered_spdy_framer.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698