diff options
Diffstat (limited to 'zenserver/projectstore/projectstore.h')
| -rw-r--r-- | zenserver/projectstore/projectstore.h | 23 |
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, |