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

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

Issue 12256004: Remove SpdySynReplyControlFrame and SpdyGoAwayControlFrame. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 7 years, 10 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 | Annotate | Revision Log
« no previous file with comments | « net/spdy/spdy_frame_reader.cc ('k') | net/spdy/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_SPDY_FRAMER_H_ 5 #ifndef NET_SPDY_SPDY_FRAMER_H_
6 #define NET_SPDY_SPDY_FRAMER_H_ 6 #define NET_SPDY_SPDY_FRAMER_H_
7 7
8 #include <list> 8 #include <list>
9 #include <map> 9 #include <map>
10 #include <string> 10 #include <string>
(...skipping 350 matching lines...) Expand 10 before | Expand all | Expand 10 after
361 // |headers| is the header block to include in the frame. 361 // |headers| is the header block to include in the frame.
362 SpdySynStreamControlFrame* CreateSynStream(SpdyStreamId stream_id, 362 SpdySynStreamControlFrame* CreateSynStream(SpdyStreamId stream_id,
363 SpdyStreamId associated_stream_id, 363 SpdyStreamId associated_stream_id,
364 SpdyPriority priority, 364 SpdyPriority priority,
365 uint8 credential_slot, 365 uint8 credential_slot,
366 SpdyControlFlags flags, 366 SpdyControlFlags flags,
367 bool compressed, 367 bool compressed,
368 const SpdyHeaderBlock* headers); 368 const SpdyHeaderBlock* headers);
369 SpdySerializedFrame* SerializeSynStream(const SpdySynStreamIR& syn_stream); 369 SpdySerializedFrame* SerializeSynStream(const SpdySynStreamIR& syn_stream);
370 370
371 // Create a SpdySynReplyControlFrame. 371 // Create a SYN_REPLY SpdyFrame.
372 // |stream_id| is the stream for this frame. 372 // |stream_id| is the stream for this frame.
373 // |flags| is the flags to use with the data. 373 // |flags| is the flags to use with the data.
374 // To mark this frame as the last frame, enable CONTROL_FLAG_FIN. 374 // To mark this frame as the last frame, enable CONTROL_FLAG_FIN.
375 // |compressed| specifies whether the frame should be compressed. 375 // |compressed| specifies whether the frame should be compressed.
376 // |headers| is the header block to include in the frame. 376 // |headers| is the header block to include in the frame.
377 SpdySynReplyControlFrame* CreateSynReply(SpdyStreamId stream_id, 377 SpdyFrame* CreateSynReply(SpdyStreamId stream_id,
378 SpdyControlFlags flags, 378 SpdyControlFlags flags,
379 bool compressed, 379 bool compressed,
380 const SpdyHeaderBlock* headers); 380 const SpdyHeaderBlock* headers);
381 SpdySerializedFrame* SerializeSynReply(const SpdySynReplyIR& syn_reply); 381 SpdySerializedFrame* SerializeSynReply(const SpdySynReplyIR& syn_reply);
382 382
383 SpdyRstStreamControlFrame* CreateRstStream(SpdyStreamId stream_id, 383 SpdyRstStreamControlFrame* CreateRstStream(SpdyStreamId stream_id,
384 SpdyRstStreamStatus status) const; 384 SpdyRstStreamStatus status) const;
385 SpdySerializedFrame* SerializeRstStream( 385 SpdySerializedFrame* SerializeRstStream(
386 const SpdyRstStreamIR& rst_stream) const; 386 const SpdyRstStreamIR& rst_stream) const;
387 387
388 // Creates an instance of SpdySettingsControlFrame. The SETTINGS frame is 388 // Creates an instance of SpdySettingsControlFrame. The SETTINGS frame is
389 // used to communicate name/value pairs relevant to the communication channel. 389 // used to communicate name/value pairs relevant to the communication channel.
390 SpdySettingsControlFrame* CreateSettings(const SettingsMap& values) const; 390 SpdySettingsControlFrame* CreateSettings(const SettingsMap& values) const;
391 SpdySerializedFrame* SerializeSettings(const SpdySettingsIR& settings) const; 391 SpdySerializedFrame* SerializeSettings(const SpdySettingsIR& settings) const;
392 392
393 // Creates an instance of SpdyPingControlFrame. The unique_id is used to 393 // Creates an instance of SpdyPingControlFrame. The unique_id is used to
394 // identify the ping request/response. 394 // identify the ping request/response.
395 SpdyPingControlFrame* CreatePingFrame(uint32 unique_id) const; 395 SpdyPingControlFrame* CreatePingFrame(uint32 unique_id) const;
396 SpdySerializedFrame* SerializePing(const SpdyPingIR& ping) const; 396 SpdySerializedFrame* SerializePing(const SpdyPingIR& ping) const;
397 397
398 // Creates an instance of SpdyGoAwayControlFrame. The GOAWAY frame is used 398 // Creates and serializes a GOAWAY frame. The GOAWAY frame is used
399 // prior to the shutting down of the TCP connection, and includes the 399 // prior to the shutting down of the TCP connection, and includes the
400 // stream_id of the last stream the sender of the frame is willing to process 400 // stream_id of the last stream the sender of the frame is willing to process
401 // to completion. 401 // to completion.
402 SpdyGoAwayControlFrame* CreateGoAway(SpdyStreamId last_accepted_stream_id, 402 SpdyFrame* CreateGoAway(SpdyStreamId last_accepted_stream_id,
403 SpdyGoAwayStatus status) const; 403 SpdyGoAwayStatus status) const;
404 SpdySerializedFrame* SerializeGoAway(const SpdyGoAwayIR& goaway) const; 404 SpdySerializedFrame* SerializeGoAway(const SpdyGoAwayIR& goaway) const;
405 405
406 // Creates an instance of SpdyHeadersControlFrame. The HEADERS frame is used 406 // Creates an instance of SpdyHeadersControlFrame. The HEADERS frame is used
407 // for sending additional headers outside of a SYN_STREAM/SYN_REPLY. The 407 // for sending additional headers outside of a SYN_STREAM/SYN_REPLY. The
408 // arguments are the same as for CreateSynReply. 408 // arguments are the same as for CreateSynReply.
409 SpdyHeadersControlFrame* CreateHeaders(SpdyStreamId stream_id, 409 SpdyHeadersControlFrame* CreateHeaders(SpdyStreamId stream_id,
410 SpdyControlFlags flags, 410 SpdyControlFlags flags,
411 bool compressed, 411 bool compressed,
412 const SpdyHeaderBlock* headers); 412 const SpdyHeaderBlock* headers);
413 SpdySerializedFrame* SerializeHeaders(const SpdyHeadersIR& headers); 413 SpdySerializedFrame* SerializeHeaders(const SpdyHeadersIR& headers);
(...skipping 170 matching lines...) Expand 10 before | Expand all | Expand 10 after
584 void WriteHeaderBlockToZ(const SpdyHeaderBlock* headers, 584 void WriteHeaderBlockToZ(const SpdyHeaderBlock* headers,
585 z_stream* out) const; 585 z_stream* out) const;
586 586
587 void SerializeNameValueBlock( 587 void SerializeNameValueBlock(
588 SpdyFrameBuilder* builder, 588 SpdyFrameBuilder* builder,
589 const SpdyFrameWithNameValueBlockIR& frame) const; 589 const SpdyFrameWithNameValueBlockIR& frame) const;
590 590
591 // Set the error code and moves the framer into the error state. 591 // Set the error code and moves the framer into the error state.
592 void set_error(SpdyError error); 592 void set_error(SpdyError error);
593 593
594 size_t GoAwaySize() const;
595
594 // Given a frame, breakdown the variable payload length, the static header 596 // Given a frame, breakdown the variable payload length, the static header
595 // header length, and variable payload pointer. 597 // header length, and variable payload pointer.
596 bool GetFrameBoundaries(const SpdyFrame& frame, int* payload_length, 598 bool GetFrameBoundaries(const SpdyFrame& frame, int* payload_length,
597 int* header_length, const char** payload) const; 599 int* header_length, const char** payload) const;
598 600
599 // Returns a new SpdyControlFrame with the compressed payload of |frame|. 601 // Returns a new SpdyControlFrame with the compressed payload of |frame|.
600 SpdyControlFrame* CompressControlFrame(const SpdyControlFrame& frame, 602 SpdyControlFrame* CompressControlFrame(const SpdyControlFrame& frame,
601 const SpdyHeaderBlock* headers); 603 const SpdyHeaderBlock* headers);
602 604
603 // The size of the control frame buffer. 605 // The size of the control frame buffer.
(...skipping 58 matching lines...) Expand 10 before | Expand all | Expand 10 after
662 // starts with HTTP. If it does, we likely have an HTTP response. This 664 // starts with HTTP. If it does, we likely have an HTTP response. This
663 // isn't guaranteed though: we could have gotten a settings frame and then 665 // isn't guaranteed though: we could have gotten a settings frame and then
664 // corrupt data that just looks like HTTP, but deterministic checking requires 666 // corrupt data that just looks like HTTP, but deterministic checking requires
665 // a lot more state. 667 // a lot more state.
666 bool probable_http_response_; 668 bool probable_http_response_;
667 }; 669 };
668 670
669 } // namespace net 671 } // namespace net
670 672
671 #endif // NET_SPDY_SPDY_FRAMER_H_ 673 #endif // NET_SPDY_SPDY_FRAMER_H_
OLDNEW
« no previous file with comments | « net/spdy/spdy_frame_reader.cc ('k') | net/spdy/spdy_framer.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698