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..4f56a4b6abcde4e2ee683ee68b906cec776f1744 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,13 @@ class NET_EXPORT_PRIVATE QuicConnectionLogger |
void OnSuccessfulVersionNegotiation(const QuicVersion& version); |
private: |
+ // 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. |
+ const static size_t MAX_PACKET_STATUS = 100; |
+ |
BoundNetLog net_log_; |
// The last packet sequence number received. |
QuicPacketSequenceNumber last_received_packet_sequence_number_; |
@@ -78,6 +88,11 @@ 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', where false means never received. |
+ std::bitset<MAX_PACKET_STATUS> packets_received_; |
+ // The available type of connection (WiFi, 3G, etc.) when connection was first |
+ // used. |
+ NetworkChangeNotifier::ConnectionType connection_type_; |
DISALLOW_COPY_AND_ASSIGN(QuicConnectionLogger); |
}; |