#include "services/network/public/cpp/network_quality_tracker.h"
#include <limits>
#include <utility>
#include "base/check_op.h"
#include "base/functional/bind.h"
#include "base/observer_list.h"
#include "mojo/public/cpp/bindings/remote.h"
#include "services/network/public/mojom/network_service.mojom.h"
namespace network {
NetworkQualityTracker::NetworkQualityTracker(
base::RepeatingCallback<network::mojom::NetworkService*()> callback)
: … { … }
NetworkQualityTracker::~NetworkQualityTracker() { … }
net::EffectiveConnectionType NetworkQualityTracker::GetEffectiveConnectionType()
const { … }
base::TimeDelta NetworkQualityTracker::GetHttpRTT() const { … }
base::TimeDelta NetworkQualityTracker::GetTransportRTT() const { … }
int32_t NetworkQualityTracker::GetDownstreamThroughputKbps() const { … }
void NetworkQualityTracker::AddEffectiveConnectionTypeObserver(
EffectiveConnectionTypeObserver* observer) { … }
void NetworkQualityTracker::RemoveEffectiveConnectionTypeObserver(
EffectiveConnectionTypeObserver* observer) { … }
void NetworkQualityTracker::AddRTTAndThroughputEstimatesObserver(
RTTAndThroughputEstimatesObserver* observer) { … }
void NetworkQualityTracker::RemoveRTTAndThroughputEstimatesObserver(
RTTAndThroughputEstimatesObserver* observer) { … }
void NetworkQualityTracker::ReportEffectiveConnectionTypeForTesting(
net::EffectiveConnectionType effective_connection_type) { … }
void NetworkQualityTracker::ReportRTTsAndThroughputForTesting(
base::TimeDelta http_rtt,
int32_t downstream_throughput_kbps) { … }
NetworkQualityTracker::NetworkQualityTracker()
: … { … }
void NetworkQualityTracker::OnNetworkQualityChanged(
net::EffectiveConnectionType effective_connection_type,
base::TimeDelta http_rtt,
base::TimeDelta transport_rtt,
int32_t bandwidth_kbps) { … }
void NetworkQualityTracker::InitializeMojoChannel() { … }
void NetworkQualityTracker::HandleNetworkServicePipeBroken() { … }
}