| Index: components/sync/model_impl/shared_model_type_processor.h
|
| diff --git a/components/sync/model_impl/shared_model_type_processor.h b/components/sync/model_impl/shared_model_type_processor.h
|
| index 8606ab975da5f7b03fb0e1d2a324bd6c36f50b47..f591d58f3de9af282ce4956aa1892a9ab542f953 100644
|
| --- a/components/sync/model_impl/shared_model_type_processor.h
|
| +++ b/components/sync/model_impl/shared_model_type_processor.h
|
| @@ -31,8 +31,10 @@ namespace syncer {
|
| class CommitQueue;
|
| class ProcessorEntityTracker;
|
|
|
| -// A sync component embedded on the synced type's thread that helps to handle
|
| -// communication between sync and model type threads.
|
| +// A sync component embedded on the model type's thread that tracks entity
|
| +// metadata in the model store and coordinates communication between sync and
|
| +// model type threads. See //docs/sync/uss/shared_model_type_processor.md for a
|
| +// more thorough description.
|
| class SharedModelTypeProcessor : public ModelTypeProcessor,
|
| public ModelTypeChangeProcessor,
|
| base::NonThreadSafe {
|
| @@ -138,11 +140,26 @@ class SharedModelTypeProcessor : public ModelTypeProcessor,
|
| // Version of the above that generates a tag for |data|.
|
| ProcessorEntityTracker* CreateEntity(const EntityData& data);
|
|
|
| + /////////////////////
|
| + // Processor state //
|
| + /////////////////////
|
| +
|
| + // The model type this object syncs.
|
| const ModelType type_;
|
| +
|
| + // The model type metadata (progress marker, initial sync done, etc).
|
| sync_pb::ModelTypeState model_type_state_;
|
|
|
| - // Stores the start callback in between OnSyncStarting() and ReadyToConnect().
|
| - StartCallback start_callback_;
|
| + // ModelTypeSyncBridge linked to this processor. The bridge owns this
|
| + // processor instance so the pointer should never become invalid.
|
| + ModelTypeSyncBridge* const bridge_;
|
| +
|
| + // Function to capture and upload a stack trace when an error occurs.
|
| + const base::RepeatingClosure dump_stack_;
|
| +
|
| + /////////////////
|
| + // Model state //
|
| + /////////////////
|
|
|
| // The first model error that occurred, if any. Stored to track model state
|
| // and so it can be passed to sync if it happened prior to sync being ready.
|
| @@ -155,6 +172,17 @@ class SharedModelTypeProcessor : public ModelTypeProcessor,
|
| // as false but will be set to true if we detect it's necessary to load data.
|
| bool waiting_for_pending_data_ = false;
|
|
|
| + ////////////////
|
| + // Sync state //
|
| + ////////////////
|
| +
|
| + // Stores the start callback in between OnSyncStarting() and ReadyToConnect().
|
| + StartCallback start_callback_;
|
| +
|
| + // The callback used for informing sync of errors; will be non-null after
|
| + // OnSyncStarting has been called.
|
| + ModelErrorHandler error_handler_;
|
| +
|
| // Reference to the CommitQueue.
|
| //
|
| // The interface hides the posting of tasks across threads as well as the
|
| @@ -162,6 +190,10 @@ class SharedModelTypeProcessor : public ModelTypeProcessor,
|
| // useful in tests.
|
| std::unique_ptr<CommitQueue> worker_;
|
|
|
| + //////////////////
|
| + // Entity state //
|
| + //////////////////
|
| +
|
| // A map of client tag hash to sync entities known to this processor. This
|
| // should contain entries and metadata for most everything, although the
|
| // entities may not always contain model type data/specifics.
|
| @@ -173,17 +205,6 @@ class SharedModelTypeProcessor : public ModelTypeProcessor,
|
| // client tag hash. The other direction can use |entities_|.
|
| std::map<std::string, std::string> storage_key_to_tag_hash_;
|
|
|
| - // ModelTypeSyncBridge linked to this processor. The bridge owns this
|
| - // processor instance so the pointer should never become invalid.
|
| - ModelTypeSyncBridge* const bridge_;
|
| -
|
| - // Function to capture and upload a stack trace when an error occurs.
|
| - const base::RepeatingClosure dump_stack_;
|
| -
|
| - // The callback used for informing sync of errors; will be non-null after
|
| - // OnSyncStarting has been called.
|
| - ModelErrorHandler error_handler_;
|
| -
|
| // WeakPtrFactory for this processor which will be sent to sync thread.
|
| base::WeakPtrFactory<SharedModelTypeProcessor> weak_ptr_factory_;
|
|
|
|
|