aboutsummaryrefslogtreecommitdiff
path: root/zenserver/projectstore/projectstore.h
diff options
context:
space:
mode:
Diffstat (limited to 'zenserver/projectstore/projectstore.h')
-rw-r--r--zenserver/projectstore/projectstore.h23
1 files changed, 21 insertions, 2 deletions
diff --git a/zenserver/projectstore/projectstore.h b/zenserver/projectstore/projectstore.h
index 8267bd9e0..6b214d5a2 100644
--- a/zenserver/projectstore/projectstore.h
+++ b/zenserver/projectstore/projectstore.h
@@ -156,6 +156,25 @@ public:
*/
void ReplayLog();
+ struct OplogEntryMapping
+ {
+ struct Mapping
+ {
+ Oid Id;
+ IoHash Hash;
+ };
+ struct FileMapping : public Mapping
+ {
+ std::string ServerPath;
+ std::string ClientPath;
+ };
+ std::vector<Mapping> Chunks;
+ std::vector<Mapping> Meta;
+ std::vector<FileMapping> Files;
+ };
+
+ OplogEntryMapping GetMapping(CbObject Core);
+
/** Update tracking metadata for a new oplog entry
*
* This is used during replay (and gets called as part of new op append)
@@ -163,11 +182,11 @@ public:
* Returns the oplog LSN assigned to the new entry, or kInvalidOp if the entry is rejected
*/
uint32_t RegisterOplogEntry(RwLock::ExclusiveLockScope& OplogLock,
- CbObject Core,
+ const OplogEntryMapping& OpMapping,
const OplogEntry& OpEntry,
UpdateType TypeOfUpdate);
- bool AddFileMapping(const RwLock::ExclusiveLockScope& OplogLock,
+ void AddFileMapping(const RwLock::ExclusiveLockScope& OplogLock,
Oid FileId,
IoHash Hash,
std::string_view ServerPath,