QUICHE team | 82dee2f | 2019-01-18 12:35:12 -0500 | [diff] [blame] | 1 | // Copyright (c) 2016 The Chromium Authors. All rights reserved. |
| 2 | // Use of this source code is governed by a BSD-style license that can be |
| 3 | // found in the LICENSE file. |
| 4 | |
| 5 | // SpdyNoOpVisitor implements several of the visitor and handler interfaces |
| 6 | // to make it easier to write tests that need to provide instances. Other |
| 7 | // interfaces can be added as needed. |
| 8 | |
| 9 | #ifndef QUICHE_SPDY_CORE_SPDY_NO_OP_VISITOR_H_ |
| 10 | #define QUICHE_SPDY_CORE_SPDY_NO_OP_VISITOR_H_ |
| 11 | |
| 12 | #include <cstdint> |
| 13 | |
| 14 | #include "net/third_party/quiche/src/spdy/core/http2_frame_decoder_adapter.h" |
| 15 | #include "net/third_party/quiche/src/spdy/core/spdy_protocol.h" |
| 16 | #include "net/third_party/quiche/src/spdy/platform/api/spdy_string_piece.h" |
| 17 | |
| 18 | namespace spdy { |
| 19 | namespace test { |
| 20 | |
| 21 | class SpdyNoOpVisitor : public SpdyFramerVisitorInterface, |
| 22 | public SpdyFramerDebugVisitorInterface, |
| 23 | public SpdyHeadersHandlerInterface { |
| 24 | public: |
| 25 | SpdyNoOpVisitor(); |
| 26 | ~SpdyNoOpVisitor() override; |
| 27 | |
| 28 | // SpdyFramerVisitorInterface methods: |
danzh | 8f3a576 | 2019-06-25 13:43:51 -0700 | [diff] [blame] | 29 | void OnError(http2::Http2DecoderAdapter::SpdyFramerError /*error*/) override { |
| 30 | } |
QUICHE team | 82dee2f | 2019-01-18 12:35:12 -0500 | [diff] [blame] | 31 | SpdyHeadersHandlerInterface* OnHeaderFrameStart( |
| 32 | SpdyStreamId stream_id) override; |
danzh | 8f3a576 | 2019-06-25 13:43:51 -0700 | [diff] [blame] | 33 | void OnHeaderFrameEnd(SpdyStreamId /*stream_id*/) override {} |
| 34 | void OnDataFrameHeader(SpdyStreamId /*stream_id*/, |
| 35 | size_t /*length*/, |
| 36 | bool /*fin*/) override {} |
| 37 | void OnStreamFrameData(SpdyStreamId /*stream_id*/, |
| 38 | const char* /*data*/, |
| 39 | size_t /*len*/) override {} |
| 40 | void OnStreamEnd(SpdyStreamId /*stream_id*/) override {} |
| 41 | void OnStreamPadding(SpdyStreamId /*stream_id*/, size_t /*len*/) override {} |
| 42 | void OnRstStream(SpdyStreamId /*stream_id*/, |
| 43 | SpdyErrorCode /*error_code*/) override {} |
| 44 | void OnSetting(SpdySettingsId /*id*/, uint32_t /*value*/) override {} |
| 45 | void OnPing(SpdyPingId /*unique_id*/, bool /*is_ack*/) override {} |
QUICHE team | 82dee2f | 2019-01-18 12:35:12 -0500 | [diff] [blame] | 46 | void OnSettingsEnd() override {} |
| 47 | void OnSettingsAck() override {} |
danzh | 8f3a576 | 2019-06-25 13:43:51 -0700 | [diff] [blame] | 48 | void OnGoAway(SpdyStreamId /*last_accepted_stream_id*/, |
| 49 | SpdyErrorCode /*error_code*/) override {} |
| 50 | void OnHeaders(SpdyStreamId /*stream_id*/, |
| 51 | bool /*has_priority*/, |
| 52 | int /*weight*/, |
| 53 | SpdyStreamId /*parent_stream_id*/, |
| 54 | bool /*exclusive*/, |
| 55 | bool /*fin*/, |
| 56 | bool /*end*/) override {} |
| 57 | void OnWindowUpdate(SpdyStreamId /*stream_id*/, |
| 58 | int /*delta_window_size*/) override {} |
| 59 | void OnPushPromise(SpdyStreamId /*stream_id*/, |
| 60 | SpdyStreamId /*promised_stream_id*/, |
| 61 | bool /*end*/) override {} |
| 62 | void OnContinuation(SpdyStreamId /*stream_id*/, bool /*end*/) override {} |
| 63 | void OnAltSvc(SpdyStreamId /*stream_id*/, |
| 64 | SpdyStringPiece /*origin*/, |
QUICHE team | 82dee2f | 2019-01-18 12:35:12 -0500 | [diff] [blame] | 65 | const SpdyAltSvcWireFormat::AlternativeServiceVector& |
danzh | 8f3a576 | 2019-06-25 13:43:51 -0700 | [diff] [blame] | 66 | /*altsvc_vector*/) override {} |
| 67 | void OnPriority(SpdyStreamId /*stream_id*/, |
| 68 | SpdyStreamId /*parent_stream_id*/, |
| 69 | int /*weight*/, |
| 70 | bool /*exclusive*/) override {} |
| 71 | bool OnUnknownFrame(SpdyStreamId /*stream_id*/, |
| 72 | uint8_t /*frame_type*/) override; |
QUICHE team | 82dee2f | 2019-01-18 12:35:12 -0500 | [diff] [blame] | 73 | |
| 74 | // SpdyFramerDebugVisitorInterface methods: |
danzh | 8f3a576 | 2019-06-25 13:43:51 -0700 | [diff] [blame] | 75 | void OnSendCompressedFrame(SpdyStreamId /*stream_id*/, |
| 76 | SpdyFrameType /*type*/, |
| 77 | size_t /*payload_len*/, |
| 78 | size_t /*frame_len*/) override {} |
| 79 | void OnReceiveCompressedFrame(SpdyStreamId /*stream_id*/, |
| 80 | SpdyFrameType /*type*/, |
| 81 | size_t /*frame_len*/) override {} |
QUICHE team | 82dee2f | 2019-01-18 12:35:12 -0500 | [diff] [blame] | 82 | |
| 83 | // SpdyHeadersHandlerInterface methods: |
| 84 | void OnHeaderBlockStart() override {} |
danzh | 8f3a576 | 2019-06-25 13:43:51 -0700 | [diff] [blame] | 85 | void OnHeader(SpdyStringPiece /*key*/, SpdyStringPiece /*value*/) override {} |
QUICHE team | 82dee2f | 2019-01-18 12:35:12 -0500 | [diff] [blame] | 86 | void OnHeaderBlockEnd(size_t /* uncompressed_header_bytes */, |
| 87 | size_t /* compressed_header_bytes */) override {} |
| 88 | }; |
| 89 | |
| 90 | } // namespace test |
| 91 | } // namespace spdy |
| 92 | |
| 93 | #endif // QUICHE_SPDY_CORE_SPDY_NO_OP_VISITOR_H_ |