chromium/net/quic/quic_event_logger.h

// Copyright 2020 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_EVENT_LOGGER_H_
#define NET_QUIC_QUIC_EVENT_LOGGER_H_

#include "base/memory/raw_ptr.h"
#include "net/base/ip_endpoint.h"
#include "net/base/net_export.h"
#include "net/cert/cert_verify_result.h"
#include "net/log/net_log_with_source.h"
#include "net/third_party/quiche/src/quiche/quic/core/quic_connection.h"
#include "net/third_party/quiche/src/quiche/quic/core/quic_packet_creator.h"
#include "net/third_party/quiche/src/quiche/quic/core/quic_session.h"

namespace net {

// Logs QUIC-related events into the supplied NetLog.  Note that while most of
// the logging is done by registering this object as a debug delegate, some of
// the methods have to be called manually.
class NET_EXPORT_PRIVATE QuicEventLogger
    : public quic::QuicConnectionDebugVisitor,
      public quic::QuicPacketCreator::DebugDelegate {};

}  // namespace net

#endif  // NET_QUIC_QUIC_EVENT_LOGGER_H_