#ifndef NET_NQE_CACHED_NETWORK_QUALITY_H_
#define NET_NQE_CACHED_NETWORK_QUALITY_H_
#include "base/time/time.h"
#include "net/base/net_export.h"
#include "net/nqe/effective_connection_type.h"
#include "net/nqe/network_quality.h"
namespace net::nqe::internal {
class NET_EXPORT_PRIVATE CachedNetworkQuality {
public:
CachedNetworkQuality();
explicit CachedNetworkQuality(
EffectiveConnectionType effective_connection_type);
CachedNetworkQuality(base::TimeTicks last_update_time,
const NetworkQuality& network_quality,
EffectiveConnectionType effective_connection_type);
CachedNetworkQuality(const CachedNetworkQuality& other);
~CachedNetworkQuality();
const NetworkQuality& network_quality() const { return network_quality_; }
CachedNetworkQuality& operator=(const CachedNetworkQuality& other);
bool OlderThan(const CachedNetworkQuality& cached_network_quality) const;
base::TimeTicks last_update_time() { return last_update_time_; }
EffectiveConnectionType effective_connection_type() const {
return effective_connection_type_;
}
private:
base::TimeTicks last_update_time_;
NetworkQuality network_quality_;
EffectiveConnectionType effective_connection_type_;
};
}
#endif