| OLD | NEW |
| 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 <stddef.h> | 8 #include <stddef.h> |
| 9 #include <stdint.h> | 9 #include <stdint.h> |
| 10 | 10 |
| (...skipping 617 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 628 | 628 |
| 629 // Returns the maximum size of the header encoder compression table. | 629 // Returns the maximum size of the header encoder compression table. |
| 630 size_t header_encoder_table_size() const; | 630 size_t header_encoder_table_size() const; |
| 631 | 631 |
| 632 void SetDecoderHeaderTableDebugVisitor( | 632 void SetDecoderHeaderTableDebugVisitor( |
| 633 std::unique_ptr<HpackHeaderTable::DebugVisitorInterface> visitor); | 633 std::unique_ptr<HpackHeaderTable::DebugVisitorInterface> visitor); |
| 634 | 634 |
| 635 void SetEncoderHeaderTableDebugVisitor( | 635 void SetEncoderHeaderTableDebugVisitor( |
| 636 std::unique_ptr<HpackHeaderTable::DebugVisitorInterface> visitor); | 636 std::unique_ptr<HpackHeaderTable::DebugVisitorInterface> visitor); |
| 637 | 637 |
| 638 // For testing support (i.e. for clients and backends), | |
| 639 // allow overriding the flag on a per framer basis. | |
| 640 void set_use_new_methods_for_test(bool v) { use_new_methods_ = v; } | |
| 641 bool use_new_methods_for_test() const { return use_new_methods_; } | |
| 642 | |
| 643 protected: | 638 protected: |
| 644 friend class BufferedSpdyFramer; | 639 friend class BufferedSpdyFramer; |
| 645 friend class HttpNetworkLayer; // This is temporary for the server. | 640 friend class HttpNetworkLayer; // This is temporary for the server. |
| 646 friend class HttpNetworkTransactionTest; | 641 friend class HttpNetworkTransactionTest; |
| 647 friend class HttpProxyClientSocketPoolTest; | 642 friend class HttpProxyClientSocketPoolTest; |
| 648 friend class SpdyHttpStreamTest; | 643 friend class SpdyHttpStreamTest; |
| 649 friend class SpdyNetworkTransactionTest; | 644 friend class SpdyNetworkTransactionTest; |
| 650 friend class SpdyProxyClientSocketTest; | 645 friend class SpdyProxyClientSocketTest; |
| 651 friend class SpdySessionTest; | 646 friend class SpdySessionTest; |
| 652 friend class SpdyStreamTest; | 647 friend class SpdyStreamTest; |
| (...skipping 247 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 900 | 895 |
| 901 // If a HEADERS frame is followed by a CONTINUATION frame, the FIN/END_STREAM | 896 // If a HEADERS frame is followed by a CONTINUATION frame, the FIN/END_STREAM |
| 902 // flag is still carried in the HEADERS frame. If it's set, flip this so that | 897 // flag is still carried in the HEADERS frame. If it's set, flip this so that |
| 903 // we know to terminate the stream when the entire header block has been | 898 // we know to terminate the stream when the entire header block has been |
| 904 // processed. | 899 // processed. |
| 905 bool end_stream_when_done_; | 900 bool end_stream_when_done_; |
| 906 | 901 |
| 907 // If true, then ProcessInput returns after processing a full frame, | 902 // If true, then ProcessInput returns after processing a full frame, |
| 908 // rather than reading all available input. | 903 // rather than reading all available input. |
| 909 bool process_single_input_frame_ = false; | 904 bool process_single_input_frame_ = false; |
| 910 | |
| 911 bool use_new_methods_ = | |
| 912 FLAGS_chromium_http2_flag_spdy_framer_use_new_methods4; | |
| 913 }; | 905 }; |
| 914 | 906 |
| 915 } // namespace net | 907 } // namespace net |
| 916 | 908 |
| 917 #endif // NET_SPDY_SPDY_FRAMER_H_ | 909 #endif // NET_SPDY_SPDY_FRAMER_H_ |
| OLD | NEW |