diff options
author | rch@chromium.org <rch@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2013-02-20 17:10:24 +0000 |
---|---|---|
committer | rch@chromium.org <rch@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2013-02-20 17:10:24 +0000 |
commit | 78b9fcd3d45f016f42187209f14f6c6a09a6f637 (patch) | |
tree | 10ed802758111a686f21516f5d602780388ddae6 /net/quic/quic_connection_logger.h | |
parent | edd7c4f348f62fd305e29869d38afbf0258b29fd (diff) | |
download | chromium_src-78b9fcd3d45f016f42187209f14f6c6a09a6f637.zip chromium_src-78b9fcd3d45f016f42187209f14f6c6a09a6f637.tar.gz chromium_src-78b9fcd3d45f016f42187209f14f6c6a09a6f637.tar.bz2 |
Log useful events for QUIC sessions in the net-log.
Review URL: https://chromiumcodereview.appspot.com/12230027
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@183558 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'net/quic/quic_connection_logger.h')
-rw-r--r-- | net/quic/quic_connection_logger.h | 48 |
1 files changed, 48 insertions, 0 deletions
diff --git a/net/quic/quic_connection_logger.h b/net/quic/quic_connection_logger.h new file mode 100644 index 0000000..36d322d --- /dev/null +++ b/net/quic/quic_connection_logger.h @@ -0,0 +1,48 @@ +// Copyright (c) 2013 The Chromium Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +#ifndef NET_QUIC_QUIC_CONNECTION_LOGGER_H_ +#define NET_QUIC_QUIC_CONNECTION_LOGGER_H_ + +#include "net/quic/quic_connection.h" + +namespace net { + +class BoundNetLog; + +// This class is a debug visitor of a QuicConnection which logs +// events to |net_log|. +class NET_EXPORT_PRIVATE QuicConnectionLogger + : public QuicConnectionDebugVisitorInterface { + public: + explicit QuicConnectionLogger(const BoundNetLog& net_log); + + virtual ~QuicConnectionLogger(); + + // QuicConnectionDebugVisitorInterface + virtual void OnPacketReceived(const IPEndPoint& self_address, + const IPEndPoint& peer_address, + const QuicEncryptedPacket& packet) OVERRIDE; + virtual void OnPacketHeader(const QuicPacketHeader& header) OVERRIDE; + virtual void OnStreamFrame(const QuicStreamFrame& frame) OVERRIDE; + virtual void OnAckFrame(const QuicAckFrame& frame) OVERRIDE; + virtual void OnCongestionFeedbackFrame( + const QuicCongestionFeedbackFrame& frame) OVERRIDE; + virtual void OnRstStreamFrame(const QuicRstStreamFrame& frame) OVERRIDE; + virtual void OnConnectionCloseFrame( + const QuicConnectionCloseFrame& frame) OVERRIDE; + virtual void OnPublicResetPacket( + const QuicPublicResetPacket& packet) OVERRIDE; + virtual void OnRevivedPacket(const QuicPacketHeader& revived_header, + base::StringPiece payload) OVERRIDE; + + private: + BoundNetLog net_log_; + + DISALLOW_COPY_AND_ASSIGN(QuicConnectionLogger); +}; + +} // namespace net + +#endif // NET_QUIC_QUIC_CONNECTION_LOGGER_H_ |