69 lines
2.7 KiB
C++
69 lines
2.7 KiB
C++
// Copyright 2019 The Chromium Authors
|
|
// Use of this source code is governed by a BSD-style license that can be
|
|
// found in the LICENSE file.
|
|
|
|
#ifndef NET_QUIC_QUIC_HTTP3_LOGGER_H_
|
|
#define NET_QUIC_QUIC_HTTP3_LOGGER_H_
|
|
|
|
#include <stddef.h>
|
|
|
|
#include "base/timer/timer.h"
|
|
#include "net/log/net_log_with_source.h"
|
|
#include "net/third_party/quiche/src/quiche/quic/core/http/quic_spdy_session.h"
|
|
|
|
namespace net {
|
|
|
|
// This class is a debug visitor of a quic::QuicSpdySession which logs events
|
|
// to |net_log| and records histograms.
|
|
class NET_EXPORT_PRIVATE QuicHttp3Logger : public quic::Http3DebugVisitor {
|
|
public:
|
|
explicit QuicHttp3Logger(const NetLogWithSource& net_log);
|
|
|
|
QuicHttp3Logger(const QuicHttp3Logger&) = delete;
|
|
QuicHttp3Logger& operator=(const QuicHttp3Logger&) = delete;
|
|
|
|
~QuicHttp3Logger() override;
|
|
|
|
// Implementation of Http3DebugVisitor.
|
|
void OnControlStreamCreated(quic::QuicStreamId stream_id) override;
|
|
void OnQpackEncoderStreamCreated(quic::QuicStreamId stream_id) override;
|
|
void OnQpackDecoderStreamCreated(quic::QuicStreamId stream_id) override;
|
|
void OnPeerControlStreamCreated(quic::QuicStreamId stream_id) override;
|
|
void OnPeerQpackEncoderStreamCreated(quic::QuicStreamId stream_id) override;
|
|
void OnPeerQpackDecoderStreamCreated(quic::QuicStreamId stream_id) override;
|
|
|
|
void OnSettingsFrameReceived(const quic::SettingsFrame& frame) override;
|
|
void OnSettingsFrameResumed(const quic::SettingsFrame& frame) override;
|
|
void OnGoAwayFrameReceived(const quic::GoAwayFrame& frame) override;
|
|
void OnPriorityUpdateFrameReceived(
|
|
const quic::PriorityUpdateFrame& frame) override;
|
|
|
|
void OnDataFrameReceived(quic::QuicStreamId stream_id,
|
|
quic::QuicByteCount payload_length) override;
|
|
void OnHeadersFrameReceived(
|
|
quic::QuicStreamId stream_id,
|
|
quic::QuicByteCount compressed_headers_length) override;
|
|
void OnHeadersDecoded(quic::QuicStreamId stream_id,
|
|
quic::QuicHeaderList headers) override;
|
|
|
|
void OnUnknownFrameReceived(quic::QuicStreamId stream_id,
|
|
uint64_t frame_type,
|
|
quic::QuicByteCount payload_length) override;
|
|
|
|
void OnSettingsFrameSent(const quic::SettingsFrame& frame) override;
|
|
void OnGoAwayFrameSent(quic::QuicStreamId stream_id) override;
|
|
void OnPriorityUpdateFrameSent(
|
|
const quic::PriorityUpdateFrame& frame) override;
|
|
|
|
void OnDataFrameSent(quic::QuicStreamId stream_id,
|
|
quic::QuicByteCount payload_length) override;
|
|
void OnHeadersFrameSent(quic::QuicStreamId stream_id,
|
|
const spdy::Http2HeaderBlock& header_block) override;
|
|
|
|
private:
|
|
NetLogWithSource net_log_;
|
|
};
|
|
} // namespace net
|
|
|
|
#endif // NET_QUIC_QUIC_HTTP3_LOGGER_H_
|