]> git.ipfire.org Git - thirdparty/squid.git/blobdiff - src/Transients.h
Fixed StoreMap.cc "anchorAt(anchorId).reading()" assertions (#1117)
[thirdparty/squid.git] / src / Transients.h
index 1d2e823d0919879b72313d4ab51cf1922b45fa63..7a2eff57d2aaad09e977fb2dd7b3983a42c62fcf 100644 (file)
 
 typedef Ipc::StoreMap TransientsMap;
 
-/// Keeps track of store entries being delivered to clients that arrived before
-/// those entries were [fully] cached. This SMP-shared table is necessary to
-/// * sync an entry-writing worker with entry-reading worker(s); and
-/// * sync an entry-deleting worker with both entry-reading/writing workers.
+/// A Transients entry allows workers to Broadcast() DELETE requests and swapout
+/// progress updates. In a collapsed forwarding context, it also represents a CF
+/// initiating worker promise to either cache the response or inform the waiting
+/// slaves (via false EntryStatus::hasWriter) that caching will not happen. A
+/// Transients entry itself does not carry response- or Store-specific metadata.
 class Transients: public Store::Controlled, public Ipc::StoreMapCleaner
 {
 public:
@@ -30,7 +31,7 @@ public:
     class EntryStatus
     {
     public:
-        bool abortedByWriter = false; ///< whether the entry was aborted
+        bool hasWriter = false; ///< whether some worker is storing the entry
         bool waitingToBeFreed = false; ///< whether the entry was marked for deletion
         bool collapsed = false; ///< whether the entry allows collapsing
     };