#include "components/sync/engine/cycle/nudge_tracker.h"
#include <algorithm>
#include <utility>
#include "base/not_fatal_until.h"
#include "components/sync/protocol/data_type_progress_marker.pb.h"
#include "components/sync/protocol/sync_enums.pb.h"
namespace syncer {
namespace {
constexpr base::TimeDelta kLocalRefreshDelay = …;
}
NudgeTracker::NudgeTracker() { … }
NudgeTracker::~NudgeTracker() = default;
bool NudgeTracker::IsSyncRequired(DataTypeSet types) const { … }
bool NudgeTracker::IsGetUpdatesRequired(DataTypeSet types) const { … }
bool NudgeTracker::IsRetryRequired() const { … }
void NudgeTracker::RecordSuccessfulCommitMessage(DataTypeSet types) { … }
void NudgeTracker::RecordSuccessfulSyncCycleIfNotBlocked(DataTypeSet types) { … }
void NudgeTracker::RecordInitialSyncDone(DataTypeSet types) { … }
base::TimeDelta NudgeTracker::RecordLocalChange(DataType type,
bool is_single_client) { … }
base::TimeDelta NudgeTracker::RecordLocalRefreshRequest(DataTypeSet types) { … }
base::TimeDelta NudgeTracker::GetRemoteInvalidationDelay(DataType type) const { … }
void NudgeTracker::RecordInitialSyncRequired(DataType type) { … }
void NudgeTracker::RecordCommitConflict(DataType type) { … }
void NudgeTracker::OnInvalidationsEnabled() { … }
void NudgeTracker::OnInvalidationsDisabled() { … }
void NudgeTracker::SetTypesThrottledUntil(DataTypeSet types,
base::TimeDelta length,
base::TimeTicks now) { … }
void NudgeTracker::SetTypeBackedOff(DataType type,
base::TimeDelta length,
base::TimeTicks now) { … }
void NudgeTracker::UpdateTypeThrottlingAndBackoffState() { … }
void NudgeTracker::SetHasPendingInvalidations(DataType type,
bool has_invalidation) { … }
bool NudgeTracker::IsAnyTypeBlocked() const { … }
bool NudgeTracker::IsTypeBlocked(DataType type) const { … }
WaitInterval::BlockingMode NudgeTracker::GetTypeBlockingMode(
DataType type) const { … }
base::TimeDelta NudgeTracker::GetTimeUntilNextUnblock() const { … }
base::TimeDelta NudgeTracker::GetTypeLastBackoffInterval(DataType type) const { … }
DataTypeSet NudgeTracker::GetBlockedTypes() const { … }
DataTypeSet NudgeTracker::GetNudgedTypes() const { … }
DataTypeSet NudgeTracker::GetNotifiedTypes() const { … }
DataTypeSet NudgeTracker::GetRefreshRequestedTypes() const { … }
sync_pb::SyncEnums::GetUpdatesOrigin NudgeTracker::GetOrigin() const { … }
void NudgeTracker::FillProtoMessage(DataType type,
sync_pb::GetUpdateTriggers* msg) const { … }
void NudgeTracker::SetSyncCycleStartTime(base::TimeTicks now) { … }
void NudgeTracker::SetNextRetryTime(base::TimeTicks retry_time) { … }
void NudgeTracker::UpdateLocalChangeDelay(DataType type,
const base::TimeDelta& delay) { … }
void NudgeTracker::SetLocalChangeDelayIgnoringMinForTest(
DataType type,
const base::TimeDelta& delay) { … }
void NudgeTracker::SetQuotaParamsForExtensionTypes(
std::optional<int> max_tokens,
std::optional<base::TimeDelta> refill_interval,
std::optional<base::TimeDelta> depleted_quota_nudge_delay) { … }
}