xref: /aosp_15_r20/external/cronet/net/third_party/quiche/src/quiche/spdy/core/spdy_no_op_visitor.h (revision 6777b5387eb2ff775bb5750e3f5d96f37fb7352b)
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 <cstddef>
13 #include <cstdint>
14 #include <string>
15 
16 #include "absl/strings/string_view.h"
17 #include "quiche/common/platform/api/quiche_export.h"
18 #include "quiche/spdy/core/http2_frame_decoder_adapter.h"
19 #include "quiche/spdy/core/spdy_alt_svc_wire_format.h"
20 #include "quiche/spdy/core/spdy_headers_handler_interface.h"
21 #include "quiche/spdy/core/spdy_protocol.h"
22 
23 namespace spdy {
24 
25 class QUICHE_EXPORT SpdyNoOpVisitor : public SpdyFramerVisitorInterface,
26                                       public SpdyFramerDebugVisitorInterface,
27                                       public SpdyHeadersHandlerInterface {
28  public:
29   SpdyNoOpVisitor();
30   ~SpdyNoOpVisitor() override;
31 
32   // SpdyFramerVisitorInterface methods:
OnError(http2::Http2DecoderAdapter::SpdyFramerError,std::string)33   void OnError(http2::Http2DecoderAdapter::SpdyFramerError /*error*/,
34                std::string /*detailed_error*/) override {}
35   SpdyHeadersHandlerInterface* OnHeaderFrameStart(
36       SpdyStreamId stream_id) override;
OnHeaderFrameEnd(SpdyStreamId)37   void OnHeaderFrameEnd(SpdyStreamId /*stream_id*/) override {}
OnDataFrameHeader(SpdyStreamId,size_t,bool)38   void OnDataFrameHeader(SpdyStreamId /*stream_id*/, size_t /*length*/,
39                          bool /*fin*/) override {}
OnStreamFrameData(SpdyStreamId,const char *,size_t)40   void OnStreamFrameData(SpdyStreamId /*stream_id*/, const char* /*data*/,
41                          size_t /*len*/) override {}
OnStreamEnd(SpdyStreamId)42   void OnStreamEnd(SpdyStreamId /*stream_id*/) override {}
OnStreamPadding(SpdyStreamId,size_t)43   void OnStreamPadding(SpdyStreamId /*stream_id*/, size_t /*len*/) override {}
OnRstStream(SpdyStreamId,SpdyErrorCode)44   void OnRstStream(SpdyStreamId /*stream_id*/,
45                    SpdyErrorCode /*error_code*/) override {}
OnSetting(SpdySettingsId,uint32_t)46   void OnSetting(SpdySettingsId /*id*/, uint32_t /*value*/) override {}
OnPing(SpdyPingId,bool)47   void OnPing(SpdyPingId /*unique_id*/, bool /*is_ack*/) override {}
OnSettingsEnd()48   void OnSettingsEnd() override {}
OnSettingsAck()49   void OnSettingsAck() override {}
OnGoAway(SpdyStreamId,SpdyErrorCode)50   void OnGoAway(SpdyStreamId /*last_accepted_stream_id*/,
51                 SpdyErrorCode /*error_code*/) override {}
OnHeaders(SpdyStreamId,size_t,bool,int,SpdyStreamId,bool,bool,bool)52   void OnHeaders(SpdyStreamId /*stream_id*/, size_t /*payload_length*/,
53                  bool /*has_priority*/, int /*weight*/,
54                  SpdyStreamId /*parent_stream_id*/, bool /*exclusive*/,
55                  bool /*fin*/, bool /*end*/) override {}
OnWindowUpdate(SpdyStreamId,int)56   void OnWindowUpdate(SpdyStreamId /*stream_id*/,
57                       int /*delta_window_size*/) override {}
OnPushPromise(SpdyStreamId,SpdyStreamId,bool)58   void OnPushPromise(SpdyStreamId /*stream_id*/,
59                      SpdyStreamId /*promised_stream_id*/,
60                      bool /*end*/) override {}
OnContinuation(SpdyStreamId,size_t,bool)61   void OnContinuation(SpdyStreamId /*stream_id*/, size_t /*payload_size*/,
62                       bool /*end*/) override {}
OnAltSvc(SpdyStreamId,absl::string_view,const SpdyAltSvcWireFormat::AlternativeServiceVector &)63   void OnAltSvc(SpdyStreamId /*stream_id*/, absl::string_view /*origin*/,
64                 const SpdyAltSvcWireFormat::AlternativeServiceVector&
65                 /*altsvc_vector*/) override {}
OnPriority(SpdyStreamId,SpdyStreamId,int,bool)66   void OnPriority(SpdyStreamId /*stream_id*/, SpdyStreamId /*parent_stream_id*/,
67                   int /*weight*/, bool /*exclusive*/) override {}
OnPriorityUpdate(SpdyStreamId,absl::string_view)68   void OnPriorityUpdate(SpdyStreamId /*prioritized_stream_id*/,
69                         absl::string_view /*priority_field_value*/) override {}
70   bool OnUnknownFrame(SpdyStreamId /*stream_id*/,
71                       uint8_t /*frame_type*/) override;
OnUnknownFrameStart(SpdyStreamId,size_t,uint8_t,uint8_t)72   void OnUnknownFrameStart(SpdyStreamId /*stream_id*/, size_t /*length*/,
73                            uint8_t /*type*/, uint8_t /*flags*/) override {}
OnUnknownFramePayload(SpdyStreamId,absl::string_view)74   void OnUnknownFramePayload(SpdyStreamId /*stream_id*/,
75                              absl::string_view /*payload*/) override {}
76 
77   // SpdyFramerDebugVisitorInterface methods:
OnSendCompressedFrame(SpdyStreamId,SpdyFrameType,size_t,size_t)78   void OnSendCompressedFrame(SpdyStreamId /*stream_id*/, SpdyFrameType /*type*/,
79                              size_t /*payload_len*/,
80                              size_t /*frame_len*/) override {}
OnReceiveCompressedFrame(SpdyStreamId,SpdyFrameType,size_t)81   void OnReceiveCompressedFrame(SpdyStreamId /*stream_id*/,
82                                 SpdyFrameType /*type*/,
83                                 size_t /*frame_len*/) override {}
84 
85   // SpdyHeadersHandlerInterface methods:
OnHeaderBlockStart()86   void OnHeaderBlockStart() override {}
OnHeader(absl::string_view,absl::string_view)87   void OnHeader(absl::string_view /*key*/,
88                 absl::string_view /*value*/) override {}
OnHeaderBlockEnd(size_t,size_t)89   void OnHeaderBlockEnd(size_t /* uncompressed_header_bytes */,
90                         size_t /* compressed_header_bytes */) override {}
91 };
92 
93 }  // namespace spdy
94 
95 #endif  // QUICHE_SPDY_CORE_SPDY_NO_OP_VISITOR_H_
96