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 |