Chromium Code Reviews| Index: net/quic/quic_connection_logger.h |
| diff --git a/net/quic/quic_connection_logger.h b/net/quic/quic_connection_logger.h |
| index ed9577ac361761ec0b98805f6e5f7eead0de5da7..955056862741bb74c8c1ac504171e85008f2c2c1 100644 |
| --- a/net/quic/quic_connection_logger.h |
| +++ b/net/quic/quic_connection_logger.h |
| @@ -5,7 +5,10 @@ |
| #ifndef NET_QUIC_QUIC_CONNECTION_LOGGER_H_ |
| #define NET_QUIC_QUIC_CONNECTION_LOGGER_H_ |
| +#include <bitset> |
| + |
| #include "net/base/ip_endpoint.h" |
| +#include "net/base/network_change_notifier.h" |
| #include "net/quic/quic_connection.h" |
| #include "net/quic/quic_protocol.h" |
| @@ -60,6 +63,16 @@ class NET_EXPORT_PRIVATE QuicConnectionLogger |
| void OnSuccessfulVersionNegotiation(const QuicVersion& version); |
| private: |
| + // Do a factory get for an "Ack_" or "Nack_" style histogram for recording |
| + // packet loss stats. |
| + base::HistogramBase* GetAckHistogram(const char* ack_or_nack); |
| + // At destruction time, this records results of |pacaket_received_| into |
| + // histograms for specific connection types. |
| + void RecordAckNackHistograms(); |
| + |
| + // The number of packets for which status is recorded. |
| + static const size_t kMaxPacketStatus = 100; |
| + |
| BoundNetLog net_log_; |
| // The last packet sequence number received. |
| QuicPacketSequenceNumber last_received_packet_sequence_number_; |
| @@ -78,6 +91,13 @@ class NET_EXPORT_PRIVATE QuicConnectionLogger |
| size_t num_truncated_acks_received_; |
| // The kCADR value provided by the server in ServerHello. |
| IPEndPoint client_address_; |
| + // Vector of inital packets status' indexed by packet sequence numbers, where |
| + // false means never received. Zero is not a valid packet sequence number, so |
| + // that offset is never really used. |
|
Ryan Hamilton
2014/03/07 17:47:05
nit: s/really//
jar (doing other things)
2014/03/07 18:01:11
Done.
|
| + std::bitset<kMaxPacketStatus + 1> packets_received_; |
| + // The available type of connection (WiFi, 3G, etc.) when connection was first |
| + // used. |
| + NetworkChangeNotifier::ConnectionType connection_type_; |
| DISALLOW_COPY_AND_ASSIGN(QuicConnectionLogger); |
| }; |