Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(215)

Unified Diff: sync/internal_api/public/engine/sync_status.h

Issue 10454105: sync: Refactor per-datatype throttling (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Comments Created 8 years, 6 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « sync/internal_api/all_status.cc ('k') | sync/internal_api/public/engine/sync_status.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: sync/internal_api/public/engine/sync_status.h
diff --git a/sync/internal_api/public/engine/sync_status.h b/sync/internal_api/public/engine/sync_status.h
new file mode 100644
index 0000000000000000000000000000000000000000..1c9ba1a46c94109649065d0fd3469414de1e02ea
--- /dev/null
+++ b/sync/internal_api/public/engine/sync_status.h
@@ -0,0 +1,94 @@
+// Copyright (c) 2012 The Chromium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+#ifndef SYNC_INTERNAL_API_PUBLIC_ENGINE_STATUS_SUMMARY_H_
+#define SYNC_INTERNAL_API_PUBLIC_ENGINE_STATUS_SUMMARY_H_
+
+#include <string>
+
+#include "sync/internal_api/public/syncable/model_type.h"
+#include "sync/protocol/sync_protocol_error.h"
+
+namespace sync_api {
+
+// Status encapsulates detailed state about the internals of the SyncManager.
+//
+// This struct is closely tied to the AllStatus object which uses instances of
+// it to track and report on the sync engine's internal state, and the functions
+// in sync_ui_util.cc which convert the contents of this struct into a
+// DictionaryValue used to populate the about:sync summary tab.
+struct SyncStatus {
+ SyncStatus();
+ ~SyncStatus();
+
+ bool notifications_enabled; // True only if subscribed for notifications.
+
+ // Notifications counters updated by the actions in synapi.
+ int notifications_received;
+
+ browser_sync::SyncProtocolError sync_protocol_error;
+
+ // Number of encryption conflicts counted during most recent sync cycle.
+ int encryption_conflicts;
+
+ // Number of hierarchy conflicts counted during most recent sync cycle.
+ int hierarchy_conflicts;
+
+ // Number of simple conflicts counted during most recent sync cycle.
+ int simple_conflicts;
+
+ // Number of items the server refused to commit due to conflict during most
+ // recent sync cycle.
+ int server_conflicts;
+
+ // Number of items successfully committed during most recent sync cycle.
+ int committed_count;
+
+ bool syncing;
+ // True after a client has done a first sync.
+ bool initial_sync_ended;
+
+ // Total updates available. If zero, nothing left to download.
+ int64 updates_available;
+ // Total updates received by the syncer since browser start.
+ int updates_received;
+ // Total updates received that are echoes of our own changes.
+ int reflected_updates_received;
+ // Of updates_received, how many were tombstones.
+ int tombstone_updates_received;
+
+ // Total successful commits.
+ int num_commits_total;
+
+ // Total number of overwrites due to conflict resolver since browser start.
+ int num_local_overwrites_total;
+ int num_server_overwrites_total;
+
+ // Count of empty and non empty getupdates;
+ int nonempty_get_updates;
+ int empty_get_updates;
+
+ // Count of sync cycles that successfully committed items;
+ int sync_cycles_with_commits;
+ int sync_cycles_without_commits;
+
+ // Count of useless and useful syncs we perform.
+ int useless_sync_cycles;
+ int useful_sync_cycles;
+
+ // Encryption related.
+ syncable::ModelTypeSet encrypted_types;
+ bool cryptographer_ready;
+ bool crypto_has_pending_keys;
+
+ // Per-datatype throttled status.
+ syncable::ModelTypeSet throttled_types;
+
+ // The unique identifer for this client.
+ std::string unique_id;
+};
+
+} // namespace sync_api
+
+#endif // SYNC_INTERNAL_API_PUBLIC_ENGINE_STATUS_SUMMARY_H_
« no previous file with comments | « sync/internal_api/all_status.cc ('k') | sync/internal_api/public/engine/sync_status.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698