#include "components/sync/model/processor_entity_tracker.h"
#include <utility>
#include "base/trace_event/memory_usage_estimator.h"
#include "components/sync/model/processor_entity.h"
#include "components/sync/protocol/data_type_state_helper.h"
#include "components/sync/protocol/entity_metadata.pb.h"
#include "components/sync/protocol/proto_memory_estimations.h"
#include "components/sync/protocol/unique_position.pb.h"
namespace syncer {
ProcessorEntityTracker::ProcessorEntityTracker(
const sync_pb::DataTypeState& data_type_state,
std::map<std::string, std::unique_ptr<sync_pb::EntityMetadata>>
metadata_map)
: … { … }
ProcessorEntityTracker::~ProcessorEntityTracker() = default;
bool ProcessorEntityTracker::AllStorageKeysPopulated() const { … }
void ProcessorEntityTracker::ClearTransientSyncState() { … }
size_t ProcessorEntityTracker::CountNonTombstoneEntries() const { … }
ProcessorEntity* ProcessorEntityTracker::AddUnsyncedLocal(
const std::string& storage_key,
std::unique_ptr<EntityData> data,
sync_pb::EntitySpecifics trimmed_specifics,
std::optional<sync_pb::UniquePosition> unique_position) { … }
ProcessorEntity* ProcessorEntityTracker::AddRemote(
const std::string& storage_key,
const UpdateResponseData& update_data,
sync_pb::EntitySpecifics trimmed_specifics,
std::optional<sync_pb::UniquePosition> unique_position) { … }
void ProcessorEntityTracker::RemoveEntityForClientTagHash(
const ClientTagHash& client_tag_hash) { … }
void ProcessorEntityTracker::RemoveEntityForStorageKey(
const std::string& storage_key) { … }
std::vector<std::string> ProcessorEntityTracker::RemoveInactiveCollaborations(
const base::flat_set<std::string>& active_collaborations) { … }
void ProcessorEntityTracker::ClearStorageKey(const std::string& storage_key) { … }
size_t ProcessorEntityTracker::EstimateMemoryUsage() const { … }
ProcessorEntity* ProcessorEntityTracker::GetEntityForTagHash(
const ClientTagHash& tag_hash) { … }
const ProcessorEntity* ProcessorEntityTracker::GetEntityForTagHash(
const ClientTagHash& tag_hash) const { … }
ProcessorEntity* ProcessorEntityTracker::GetEntityForStorageKey(
const std::string& storage_key) { … }
const ProcessorEntity* ProcessorEntityTracker::GetEntityForStorageKey(
const std::string& storage_key) const { … }
std::vector<const ProcessorEntity*>
ProcessorEntityTracker::GetAllEntitiesIncludingTombstones() const { … }
std::vector<ProcessorEntity*>
ProcessorEntityTracker::GetEntitiesWithLocalChanges(size_t max_entries) { … }
bool ProcessorEntityTracker::HasLocalChanges() const { … }
size_t ProcessorEntityTracker::size() const { … }
std::vector<const ProcessorEntity*>
ProcessorEntityTracker::IncrementSequenceNumberForAllExcept(
const std::unordered_set<std::string>& already_updated_storage_keys) { … }
void ProcessorEntityTracker::UpdateOrOverrideStorageKey(
const ClientTagHash& client_tag_hash,
const std::string& storage_key) { … }
ProcessorEntity* ProcessorEntityTracker::AddInternal(
const std::string& storage_key,
const EntityData& data,
int64_t server_version) { … }
}