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

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

Issue 2096713002: Reduce SpdyHeaderBlock copies with move semantics. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: clear() does not work after all. 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/quic/test_tools/quic_test_packet_maker.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
(...skipping 197 matching lines...) Expand 10 before | Expand all | Expand 10 after
208 SpdyMajorVersion protocol_version(); 208 SpdyMajorVersion protocol_version();
209 void Reset(); 209 void Reset();
210 SpdyFramer::SpdyError error_code() const; 210 SpdyFramer::SpdyError error_code() const;
211 SpdyFramer::SpdyState state() const; 211 SpdyFramer::SpdyState state() const;
212 bool MessageFullyRead(); 212 bool MessageFullyRead();
213 bool HasError(); 213 bool HasError();
214 SpdySerializedFrame* CreateSynStream(SpdyStreamId stream_id, 214 SpdySerializedFrame* CreateSynStream(SpdyStreamId stream_id,
215 SpdyStreamId associated_stream_id, 215 SpdyStreamId associated_stream_id,
216 SpdyPriority priority, 216 SpdyPriority priority,
217 SpdyControlFlags flags, 217 SpdyControlFlags flags,
218 const SpdyHeaderBlock* headers); 218 SpdyHeaderBlock headers);
219 SpdySerializedFrame* CreateSynReply(SpdyStreamId stream_id, 219 SpdySerializedFrame* CreateSynReply(SpdyStreamId stream_id,
220 SpdyControlFlags flags, 220 SpdyControlFlags flags,
221 const SpdyHeaderBlock* headers); 221 SpdyHeaderBlock headers);
222 SpdySerializedFrame* CreateRstStream(SpdyStreamId stream_id, 222 SpdySerializedFrame* CreateRstStream(SpdyStreamId stream_id,
223 SpdyRstStreamStatus status) const; 223 SpdyRstStreamStatus status) const;
224 SpdySerializedFrame* CreateSettings(const SettingsMap& values) const; 224 SpdySerializedFrame* CreateSettings(const SettingsMap& values) const;
225 SpdySerializedFrame* CreatePingFrame(SpdyPingId unique_id, bool is_ack) const; 225 SpdySerializedFrame* CreatePingFrame(SpdyPingId unique_id, bool is_ack) const;
226 SpdySerializedFrame* CreateGoAway(SpdyStreamId last_accepted_stream_id, 226 SpdySerializedFrame* CreateGoAway(SpdyStreamId last_accepted_stream_id,
227 SpdyGoAwayStatus status, 227 SpdyGoAwayStatus status,
228 base::StringPiece debug_data) const; 228 base::StringPiece debug_data) const;
229 SpdySerializedFrame* CreateHeaders(SpdyStreamId stream_id, 229 SpdySerializedFrame* CreateHeaders(SpdyStreamId stream_id,
230 SpdyControlFlags flags, 230 SpdyControlFlags flags,
231 int weight, 231 int weight,
232 const SpdyHeaderBlock* headers); 232 SpdyHeaderBlock headers);
233 SpdySerializedFrame* CreateWindowUpdate(SpdyStreamId stream_id, 233 SpdySerializedFrame* CreateWindowUpdate(SpdyStreamId stream_id,
234 uint32_t delta_window_size) const; 234 uint32_t delta_window_size) const;
235 SpdySerializedFrame* CreateDataFrame(SpdyStreamId stream_id, 235 SpdySerializedFrame* CreateDataFrame(SpdyStreamId stream_id,
236 const char* data, 236 const char* data,
237 uint32_t len, 237 uint32_t len,
238 SpdyDataFlags flags); 238 SpdyDataFlags flags);
239 SpdySerializedFrame* CreatePushPromise(SpdyStreamId stream_id, 239 SpdySerializedFrame* CreatePushPromise(SpdyStreamId stream_id,
240 SpdyStreamId promised_stream_id, 240 SpdyStreamId promised_stream_id,
241 const SpdyHeaderBlock* headers); 241 SpdyHeaderBlock headers);
242 242
243 // Serialize a frame of unknown type. 243 // Serialize a frame of unknown type.
244 SpdySerializedFrame SerializeFrame(const SpdyFrameIR& frame) { 244 SpdySerializedFrame SerializeFrame(const SpdyFrameIR& frame) {
245 return spdy_framer_.SerializeFrame(frame); 245 return spdy_framer_.SerializeFrame(frame);
246 } 246 }
247 247
248 SpdyPriority GetHighestPriority() const; 248 SpdyPriority GetHighestPriority() const;
249 249
250 size_t GetDataFrameMinimumSize() const { 250 size_t GetDataFrameMinimumSize() const {
251 return spdy_framer_.GetDataFrameMinimumSize(); 251 return spdy_framer_.GetDataFrameMinimumSize();
(...skipping 59 matching lines...) Expand 10 before | Expand all | Expand 10 after
311 std::unique_ptr<GoAwayFields> goaway_fields_; 311 std::unique_ptr<GoAwayFields> goaway_fields_;
312 312
313 std::unique_ptr<HeaderCoalescer> coalescer_; 313 std::unique_ptr<HeaderCoalescer> coalescer_;
314 314
315 DISALLOW_COPY_AND_ASSIGN(BufferedSpdyFramer); 315 DISALLOW_COPY_AND_ASSIGN(BufferedSpdyFramer);
316 }; 316 };
317 317
318 } // namespace net 318 } // namespace net
319 319
320 #endif // NET_SPDY_BUFFERED_SPDY_FRAMER_H_ 320 #endif // NET_SPDY_BUFFERED_SPDY_FRAMER_H_
OLDNEW
« no previous file with comments | « net/quic/test_tools/quic_test_packet_maker.cc ('k') | net/spdy/buffered_spdy_framer.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698