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

Side by Side Diff: sync/internal_api/public/non_blocking_sync_common.h

Issue 442053002: sync: Add non-blocking type encryption (retry) (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 6 years, 4 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 unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 // Copyright 2014 The Chromium Authors. All rights reserved. 1 // Copyright 2014 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #ifndef SYNC_INTERNAL_API_PUBLIC_NON_BLOCKING_SYNC_COMMON_H_ 5 #ifndef SYNC_INTERNAL_API_PUBLIC_NON_BLOCKING_SYNC_COMMON_H_
6 #define SYNC_INTERNAL_API_PUBLIC_NON_BLOCKING_SYNC_COMMON_H_ 6 #define SYNC_INTERNAL_API_PUBLIC_NON_BLOCKING_SYNC_COMMON_H_
7 7
8 #include <string> 8 #include <string>
9 #include <vector> 9 #include <vector>
10 10
(...skipping 20 matching lines...) Expand all
31 // be data-type specific. Many data types ignore it. 31 // be data-type specific. Many data types ignore it.
32 sync_pb::DataTypeContext type_context; 32 sync_pb::DataTypeContext type_context;
33 33
34 // The ID of the folder node that sits at the top of this type's folder 34 // The ID of the folder node that sits at the top of this type's folder
35 // hierarchy. We keep this around for legacy reasons. The protocol expects 35 // hierarchy. We keep this around for legacy reasons. The protocol expects
36 // that all nodes of a certain type are children of the same type root 36 // that all nodes of a certain type are children of the same type root
37 // entity. This entity is delivered by the server, and may not be available 37 // entity. This entity is delivered by the server, and may not be available
38 // until the first download cycle has completed. 38 // until the first download cycle has completed.
39 std::string type_root_id; 39 std::string type_root_id;
40 40
41 // This value is set if this type's data should be encrypted on the server.
42 // If this key changes, the client will need to re-commit all of its local
43 // data to the server using the new encryption key.
44 std::string encryption_key_name;
45
41 // A strictly increasing counter used to generate unique values for the 46 // A strictly increasing counter used to generate unique values for the
42 // client-assigned IDs. The incrementing and ID assignment happens on the 47 // client-assigned IDs. The incrementing and ID assignment happens on the
43 // sync thread, but we store the value here so we can pass it back to the 48 // sync thread, but we store the value here so we can pass it back to the
44 // model thread for persistence. This is probably unnecessary for the 49 // model thread for persistence. This is probably unnecessary for the
45 // client-tagged data types supported by non-blocking sync, but we will 50 // client-tagged data types supported by non-blocking sync, but we will
46 // continue to emulate the directory sync's behavior for now. 51 // continue to emulate the directory sync's behavior for now.
47 int64 next_client_id; 52 int64 next_client_id;
48 53
49 // This flag is set to true when the first download cycle is complete. The 54 // This flag is set to true when the first download cycle is complete. The
50 // ModelTypeSyncProxy should not attempt to commit any items until this 55 // ModelTypeSyncProxy should not attempt to commit any items until this
51 // flag is set. 56 // flag is set.
52 bool initial_sync_done; 57 bool initial_sync_done;
53 }; 58 };
54
55 struct SYNC_EXPORT_PRIVATE CommitRequestData { 59 struct SYNC_EXPORT_PRIVATE CommitRequestData {
56 CommitRequestData(); 60 CommitRequestData();
57 ~CommitRequestData(); 61 ~CommitRequestData();
58 62
59 std::string id; 63 std::string id;
60 std::string client_tag_hash; 64 std::string client_tag_hash;
61 65
62 // Strictly incrementing number for in-progress commits. More information 66 // Strictly incrementing number for in-progress commits. More information
63 // about its meaning can be found in comments in the files that make use of 67 // about its meaning can be found in comments in the files that make use of
64 // this struct. 68 // this struct.
(...skipping 22 matching lines...) Expand all
87 ~UpdateResponseData(); 91 ~UpdateResponseData();
88 92
89 std::string id; 93 std::string id;
90 std::string client_tag_hash; 94 std::string client_tag_hash;
91 int64 response_version; 95 int64 response_version;
92 base::Time ctime; 96 base::Time ctime;
93 base::Time mtime; 97 base::Time mtime;
94 std::string non_unique_name; 98 std::string non_unique_name;
95 bool deleted; 99 bool deleted;
96 sync_pb::EntitySpecifics specifics; 100 sync_pb::EntitySpecifics specifics;
101 std::string encryption_key_name;
97 }; 102 };
98 103
99 typedef std::vector<CommitRequestData> CommitRequestDataList; 104 typedef std::vector<CommitRequestData> CommitRequestDataList;
100 typedef std::vector<CommitResponseData> CommitResponseDataList; 105 typedef std::vector<CommitResponseData> CommitResponseDataList;
101 typedef std::vector<UpdateResponseData> UpdateResponseDataList; 106 typedef std::vector<UpdateResponseData> UpdateResponseDataList;
102 107
103 } // namespace syncer 108 } // namespace syncer
104 109
105 #endif // SYNC_INTERNAL_API_PUBLIC_NON_BLOCKING_SYNC_COMMON_H_ 110 #endif // SYNC_INTERNAL_API_PUBLIC_NON_BLOCKING_SYNC_COMMON_H_
OLDNEW
« no previous file with comments | « sync/engine/model_type_sync_worker_impl_unittest.cc ('k') | sync/internal_api/public/sync_context.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698