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

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

Issue 13529032: Change the signature of SpdyFramer::SerializeNameValueBlockWithoutCompression (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 7 years, 8 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 | « no previous file | 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 486 matching lines...) Expand 10 before | Expand all | Expand 10 after
497 static const char* StatusCodeToString(int status_code); 497 static const char* StatusCodeToString(int status_code);
498 static const char* ControlTypeToString(SpdyControlType type); 498 static const char* ControlTypeToString(SpdyControlType type);
499 499
500 int protocol_version() const { return spdy_version_; } 500 int protocol_version() const { return spdy_version_; }
501 501
502 bool probable_http_response() const { return probable_http_response_; } 502 bool probable_http_response() const { return probable_http_response_; }
503 503
504 SpdyPriority GetLowestPriority() const { return spdy_version_ < 3 ? 3 : 7; } 504 SpdyPriority GetLowestPriority() const { return spdy_version_ < 3 ? 3 : 7; }
505 SpdyPriority GetHighestPriority() const { return 0; } 505 SpdyPriority GetHighestPriority() const { return 0; }
506 506
507 // Deliver the given control frame's compressed headers block to the visitor
508 // in decompressed form, in chunks. Returns true if the visitor has
509 // accepted all of the chunks.
510 bool IncrementallyDecompressControlFrameHeaderData(
511 SpdyStreamId stream_id,
512 const char* data,
513 size_t len);
514
507 protected: 515 protected:
508 FRIEND_TEST_ALL_PREFIXES(SpdyFramerTest, BasicCompression); 516 FRIEND_TEST_ALL_PREFIXES(SpdyFramerTest, BasicCompression);
509 FRIEND_TEST_ALL_PREFIXES(SpdyFramerTest, ControlFrameSizesAreValidated); 517 FRIEND_TEST_ALL_PREFIXES(SpdyFramerTest, ControlFrameSizesAreValidated);
510 FRIEND_TEST_ALL_PREFIXES(SpdyFramerTest, HeaderCompression); 518 FRIEND_TEST_ALL_PREFIXES(SpdyFramerTest, HeaderCompression);
511 FRIEND_TEST_ALL_PREFIXES(SpdyFramerTest, DecompressUncompressedFrame); 519 FRIEND_TEST_ALL_PREFIXES(SpdyFramerTest, DecompressUncompressedFrame);
512 FRIEND_TEST_ALL_PREFIXES(SpdyFramerTest, ExpandBuffer_HeapSmash); 520 FRIEND_TEST_ALL_PREFIXES(SpdyFramerTest, ExpandBuffer_HeapSmash);
513 FRIEND_TEST_ALL_PREFIXES(SpdyFramerTest, HugeHeaderBlock); 521 FRIEND_TEST_ALL_PREFIXES(SpdyFramerTest, HugeHeaderBlock);
514 FRIEND_TEST_ALL_PREFIXES(SpdyFramerTest, UnclosedStreamDataCompressors); 522 FRIEND_TEST_ALL_PREFIXES(SpdyFramerTest, UnclosedStreamDataCompressors);
515 FRIEND_TEST_ALL_PREFIXES(SpdyFramerTest, 523 FRIEND_TEST_ALL_PREFIXES(SpdyFramerTest,
516 UnclosedStreamDataCompressorsOneByteAtATime); 524 UnclosedStreamDataCompressorsOneByteAtATime);
(...skipping 32 matching lines...) Expand 10 before | Expand all | Expand 10 after
549 bool ProcessSetting(const char* data); // Always passed exactly 8 bytes. 557 bool ProcessSetting(const char* data); // Always passed exactly 8 bytes.
550 558
551 // Retrieve serialized length of SpdyHeaderBlock. If compression is enabled, a 559 // Retrieve serialized length of SpdyHeaderBlock. If compression is enabled, a
552 // maximum estimate is returned. 560 // maximum estimate is returned.
553 size_t GetSerializedLength(const SpdyHeaderBlock& headers); 561 size_t GetSerializedLength(const SpdyHeaderBlock& headers);
554 562
555 // Get (and lazily initialize) the ZLib state. 563 // Get (and lazily initialize) the ZLib state.
556 z_stream* GetHeaderCompressor(); 564 z_stream* GetHeaderCompressor();
557 z_stream* GetHeaderDecompressor(); 565 z_stream* GetHeaderDecompressor();
558 566
559 // Deliver the given control frame's compressed headers block to the visitor 567 private:
560 // in decompressed form, in chunks. Returns true if the visitor has
561 // accepted all of the chunks.
562 bool IncrementallyDecompressControlFrameHeaderData(
563 SpdyStreamId stream_id,
564 const char* data,
565 size_t len);
566
567 // Deliver the given control frame's uncompressed headers block to the 568 // Deliver the given control frame's uncompressed headers block to the
568 // visitor in chunks. Returns true if the visitor has accepted all of the 569 // visitor in chunks. Returns true if the visitor has accepted all of the
569 // chunks. 570 // chunks.
570 bool IncrementallyDeliverControlFrameHeaderData(SpdyStreamId stream_id, 571 bool IncrementallyDeliverControlFrameHeaderData(SpdyStreamId stream_id,
571 const char* data, 572 const char* data,
572 size_t len); 573 size_t len);
573 574
574 // Utility to copy the given data block to the current frame buffer, up 575 // Utility to copy the given data block to the current frame buffer, up
575 // to the given maximum number of bytes, and update the buffer 576 // to the given maximum number of bytes, and update the buffer
576 // data (pointer and length). Returns the number of bytes 577 // data (pointer and length). Returns the number of bytes
577 // read, and: 578 // read, and:
578 // *data is advanced the number of bytes read. 579 // *data is advanced the number of bytes read.
579 // *len is reduced by the number of bytes read. 580 // *len is reduced by the number of bytes read.
580 size_t UpdateCurrentFrameBuffer(const char** data, size_t* len, 581 size_t UpdateCurrentFrameBuffer(const char** data, size_t* len,
581 size_t max_bytes); 582 size_t max_bytes);
582 583
583 void WriteHeaderBlockToZ(const SpdyHeaderBlock* headers, 584 void WriteHeaderBlockToZ(const SpdyHeaderBlock* headers,
584 z_stream* out) const; 585 z_stream* out) const;
585 586
586 void SerializeNameValueBlockWithoutCompression( 587 void SerializeNameValueBlockWithoutCompression(
587 SpdyFrameBuilder* builder, 588 SpdyFrameBuilder* builder,
588 const SpdyFrameWithNameValueBlockIR& frame) const; 589 const SpdyNameValueBlock& name_value_block) const;
589 590
590 // Compresses automatically according to enable_compression_. 591 // Compresses automatically according to enable_compression_.
591 void SerializeNameValueBlock( 592 void SerializeNameValueBlock(
592 SpdyFrameBuilder* builder, 593 SpdyFrameBuilder* builder,
593 const SpdyFrameWithNameValueBlockIR& frame); 594 const SpdyFrameWithNameValueBlockIR& frame);
594 595
595 // Set the error code and moves the framer into the error state. 596 // Set the error code and moves the framer into the error state.
596 void set_error(SpdyError error); 597 void set_error(SpdyError error);
597 598
598 size_t GoAwaySize() const; 599 size_t GoAwaySize() const;
(...skipping 83 matching lines...) Expand 10 before | Expand all | Expand 10 after
682 // starts with HTTP. If it does, we likely have an HTTP response. This 683 // starts with HTTP. If it does, we likely have an HTTP response. This
683 // isn't guaranteed though: we could have gotten a settings frame and then 684 // isn't guaranteed though: we could have gotten a settings frame and then
684 // corrupt data that just looks like HTTP, but deterministic checking requires 685 // corrupt data that just looks like HTTP, but deterministic checking requires
685 // a lot more state. 686 // a lot more state.
686 bool probable_http_response_; 687 bool probable_http_response_;
687 }; 688 };
688 689
689 } // namespace net 690 } // namespace net
690 691
691 #endif // NET_SPDY_SPDY_FRAMER_H_ 692 #endif // NET_SPDY_SPDY_FRAMER_H_
OLDNEW
« no previous file with comments | « no previous file | net/spdy/spdy_framer.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698