blob: 80e1535514c55534db4d67ccb066c8016768f312 [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:
29 void OnError(http2::Http2DecoderAdapter::SpdyFramerError error) override {}
30 SpdyHeadersHandlerInterface* OnHeaderFrameStart(
31 SpdyStreamId stream_id) override;
32 void OnHeaderFrameEnd(SpdyStreamId stream_id) override {}
33 void OnDataFrameHeader(SpdyStreamId stream_id,
34 size_t length,
35 bool fin) override {}
36 void OnStreamFrameData(SpdyStreamId stream_id,
37 const char* data,
38 size_t len) override {}
39 void OnStreamEnd(SpdyStreamId stream_id) override {}
40 void OnStreamPadding(SpdyStreamId stream_id, size_t len) override {}
41 void OnRstStream(SpdyStreamId stream_id, SpdyErrorCode error_code) override {}
42 void OnSetting(SpdySettingsId id, uint32_t value) override {}
43 void OnPing(SpdyPingId unique_id, bool is_ack) override {}
44 void OnSettingsEnd() override {}
45 void OnSettingsAck() override {}
46 void OnGoAway(SpdyStreamId last_accepted_stream_id,
47 SpdyErrorCode error_code) override {}
48 void OnHeaders(SpdyStreamId stream_id,
49 bool has_priority,
50 int weight,
51 SpdyStreamId parent_stream_id,
52 bool exclusive,
53 bool fin,
54 bool end) override {}
55 void OnWindowUpdate(SpdyStreamId stream_id, int delta_window_size) override {}
56 void OnPushPromise(SpdyStreamId stream_id,
57 SpdyStreamId promised_stream_id,
58 bool end) override {}
59 void OnContinuation(SpdyStreamId stream_id, bool end) override {}
60 void OnAltSvc(SpdyStreamId stream_id,
61 SpdyStringPiece origin,
62 const SpdyAltSvcWireFormat::AlternativeServiceVector&
63 altsvc_vector) override {}
64 void OnPriority(SpdyStreamId stream_id,
65 SpdyStreamId parent_stream_id,
66 int weight,
67 bool exclusive) override {}
68 bool OnUnknownFrame(SpdyStreamId stream_id, uint8_t frame_type) override;
69
70 // SpdyFramerDebugVisitorInterface methods:
71 void OnSendCompressedFrame(SpdyStreamId stream_id,
72 SpdyFrameType type,
73 size_t payload_len,
74 size_t frame_len) override {}
75 void OnReceiveCompressedFrame(SpdyStreamId stream_id,
76 SpdyFrameType type,
77 size_t frame_len) override {}
78
79 // SpdyHeadersHandlerInterface methods:
80 void OnHeaderBlockStart() override {}
81 void OnHeader(SpdyStringPiece key, SpdyStringPiece value) override {}
82 void OnHeaderBlockEnd(size_t /* uncompressed_header_bytes */,
83 size_t /* compressed_header_bytes */) override {}
84};
85
86} // namespace test
87} // namespace spdy
88
89#endif // QUICHE_SPDY_CORE_SPDY_NO_OP_VISITOR_H_