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

Unified Diff: webrtc/p2p/base/port.cc

Issue 1279433006: Add a rate tracker that tracks rate over a given interval split up into buckets that accumulate uni… (Closed) Base URL: https://chromium.googlesource.com/external/webrtc.git@master
Patch Set: New tests and readability fixes. 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
« no previous file with comments | « webrtc/base/ratetracker_unittest.cc ('k') | webrtc/p2p/base/tcpport.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: webrtc/p2p/base/port.cc
diff --git a/webrtc/p2p/base/port.cc b/webrtc/p2p/base/port.cc
index 4023b322e732ef31e6827bd3fc95715351fc2f22..480911638fe960a4ca43a67d277d6424bdc42b6b 100644
--- a/webrtc/p2p/base/port.cc
+++ b/webrtc/p2p/base/port.cc
@@ -894,6 +894,8 @@ Connection::Connection(Port* port,
last_ping_received_(0),
last_data_received_(0),
last_ping_response_received_(0),
+ recv_rate_tracker_(100u, 10u),
+ send_rate_tracker_(100u, 10u),
sent_packets_discarded_(0),
sent_packets_total_(0),
reported_(false),
@@ -1005,7 +1007,7 @@ void Connection::OnReadPacket(
// readable means data from this address is acceptable
// Send it on!
last_data_received_ = rtc::Time();
- recv_rate_tracker_.Update(size);
+ recv_rate_tracker_.AddSamples(size);
SignalReadPacket(this, data, size, packet_time);
// If timed out sending writability checks, start up again
@@ -1450,19 +1452,19 @@ uint32 Connection::last_received() {
}
size_t Connection::recv_bytes_second() {
- return recv_rate_tracker_.units_second();
+ return recv_rate_tracker_.ComputeRate();
}
size_t Connection::recv_total_bytes() {
- return recv_rate_tracker_.total_units();
+ return recv_rate_tracker_.TotalSampleCount();
}
size_t Connection::sent_bytes_second() {
- return send_rate_tracker_.units_second();
+ return send_rate_tracker_.ComputeRate();
}
size_t Connection::sent_total_bytes() {
- return send_rate_tracker_.total_units();
+ return send_rate_tracker_.TotalSampleCount();
}
size_t Connection::sent_discarded_packets() {
@@ -1557,7 +1559,7 @@ int ProxyConnection::Send(const void* data, size_t size,
error_ = port_->GetError();
sent_packets_discarded_++;
} else {
- send_rate_tracker_.Update(sent);
+ send_rate_tracker_.AddSamples(sent);
}
return sent;
}
« no previous file with comments | « webrtc/base/ratetracker_unittest.cc ('k') | webrtc/p2p/base/tcpport.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698