]> git.ipfire.org Git - thirdparty/squid.git/blobdiff - src/fs/rock/RockSwapDir.h
Support "appending" read/write lock state that can be shared by readers
[thirdparty/squid.git] / src / fs / rock / RockSwapDir.h
index 301d0f410e2d42f3871c4c370e9180cf08294c99..eba5ed6019b17ac099f15bf1d1f57684eea6393c 100644 (file)
@@ -65,6 +65,10 @@ public:
     uint64_t slotSize; ///< all db slots are of this size
 
 protected:
+    /* Store API */
+    virtual bool anchorCollapsed(StoreEntry &collapsed);
+    virtual bool updateCollapsed(StoreEntry &collapsed);
+
     /* protected ::SwapDir API */
     virtual bool needsDiskStrand() const;
     virtual void init();
@@ -107,6 +111,9 @@ protected:
     int entryMaxPayloadSize() const;
     int entriesNeeded(const int64_t objSize) const;
 
+    void anchorEntry(StoreEntry &e, const sfileno filen, const Ipc::StoreMapAnchor &anchor);
+    bool updateCollapsedWith(StoreEntry &collapsed, const Ipc::StoreMapAnchor &anchor);
+
     friend class Rebuild;
     friend class IoState;
     const char *filePath; ///< location of cache storage file inside path/