Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(354)

Unified Diff: net/quic/quic_connection_logger.cc

Issue 1305293004: Notfiy NQE of QUIC RTT (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Rebased, addressed comments, added more tests Created 5 years, 3 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: net/quic/quic_connection_logger.cc
diff --git a/net/quic/quic_connection_logger.cc b/net/quic/quic_connection_logger.cc
index 9635102e867f74003024c04cc1ca967c634c2a80..04f88f158bcb29e7cd9937e8c55bfc230528993a 100644
--- a/net/quic/quic_connection_logger.cc
+++ b/net/quic/quic_connection_logger.cc
@@ -22,6 +22,7 @@
#include "net/quic/crypto/crypto_protocol.h"
#include "net/quic/quic_address_mismatch.h"
#include "net/quic/quic_socket_address_coder.h"
+#include "net/quic/quic_time.h"
using base::StringPiece;
using std::string;
@@ -286,7 +287,8 @@ AddressFamily GetRealAddressFamily(const IPAddressNumber& address) {
QuicConnectionLogger::QuicConnectionLogger(
QuicSpdySession* session,
const char* const connection_description,
- const BoundNetLog& net_log)
+ const BoundNetLog& net_log,
+ scoped_ptr<SocketPerformanceWatcher> socket_performance_watcher)
: net_log_(net_log),
session_(session),
last_received_packet_number_(0),
@@ -306,7 +308,8 @@ QuicConnectionLogger::QuicConnectionLogger(
num_duplicate_packets_(0),
num_blocked_frames_received_(0),
num_blocked_frames_sent_(0),
- connection_description_(connection_description) {}
+ connection_description_(connection_description),
+ socket_performance_watcher_(socket_performance_watcher.Pass()) {}
QuicConnectionLogger::~QuicConnectionLogger() {
UMA_HISTOGRAM_COUNTS("Net.QuicSession.OutOfOrderPacketsReceived",
@@ -786,6 +789,18 @@ float QuicConnectionLogger::ReceivedPacketLossRate() const {
return num_received / largest_received_packet_number_;
}
+void QuicConnectionLogger::OnRttChanged(QuicTime::Delta rtt) const {
+ // Notify socket performance watcher of the updated RTT value.
+ if (!socket_performance_watcher_)
+ return;
+
+ long microseconds = rtt.ToMicroseconds();
+ if (microseconds != 0) {
+ socket_performance_watcher_->OnUpdatedRTTAvailable(
+ base::TimeDelta::FromMicroseconds(rtt.ToMicroseconds()));
+ }
+}
+
void QuicConnectionLogger::RecordAggregatePacketLossRate() const {
// For short connections under 22 packets in length, we'll rely on the
// Net.QuicSession.21CumulativePacketsReceived_* histogram to indicate packet

Powered by Google App Engine
This is Rietveld 408576698