blob: 6e4a48a9cd27facc705ecefb080c1d1e1f543d23 [file] [log] [blame]
QUICHE team82dee2f2019-01-18 12:35:12 -05001// 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
18namespace spdy {
19namespace test {
20
21class SpdyNoOpVisitor : public SpdyFramerVisitorInterface,
22 public SpdyFramerDebugVisitorInterface,
23 public SpdyHeadersHandlerInterface {
24 public:
25 SpdyNoOpVisitor();
26 ~SpdyNoOpVisitor() override;
27
28 // SpdyFramerVisitorInterface methods:
danzh8f3a5762019-06-25 13:43:51 -070029 void OnError(http2::Http2DecoderAdapter::SpdyFramerError /*error*/) override {
30 }
QUICHE team82dee2f2019-01-18 12:35:12 -050031 SpdyHeadersHandlerInterface* OnHeaderFrameStart(
32 SpdyStreamId stream_id) override;
danzh8f3a5762019-06-25 13:43:51 -070033 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 team82dee2f2019-01-18 12:35:12 -050046 void OnSettingsEnd() override {}
47 void OnSettingsAck() override {}
danzh8f3a5762019-06-25 13:43:51 -070048 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 team82dee2f2019-01-18 12:35:12 -050065 const SpdyAltSvcWireFormat::AlternativeServiceVector&
danzh8f3a5762019-06-25 13:43:51 -070066 /*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 team82dee2f2019-01-18 12:35:12 -050073
74 // SpdyFramerDebugVisitorInterface methods:
danzh8f3a5762019-06-25 13:43:51 -070075 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 team82dee2f2019-01-18 12:35:12 -050082
83 // SpdyHeadersHandlerInterface methods:
84 void OnHeaderBlockStart() override {}
danzh8f3a5762019-06-25 13:43:51 -070085 void OnHeader(SpdyStringPiece /*key*/, SpdyStringPiece /*value*/) override {}
QUICHE team82dee2f2019-01-18 12:35:12 -050086 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_