]> git.ipfire.org Git - thirdparty/squid.git/commitdiff
Converted a few more StoreEntry functions to class methods:
authorwessels <>
Sat, 21 Apr 2007 05:53:41 +0000 (05:53 +0000)
committerwessels <>
Sat, 21 Apr 2007 05:53:41 +0000 (05:53 +0000)
InvokeHandlers
storeExpireNow
storeNegativeCache
storePurgeMem
storeReleaseRequest
storeSetPrivateKey
storeSetPublicKey

24 files changed:
src/Store.h
src/client_side_reply.cc
src/client_side_request.cc
src/errorpage.cc
src/forward.cc
src/fs/coss/store_dir_coss.cc
src/fs/ufs/ufscommon.cc
src/ftp.cc
src/gopher.cc
src/htcp.cc
src/http.cc
src/mime.cc
src/neighbors.cc
src/peer_digest.cc
src/protos.h
src/store.cc
src/store_client.cc
src/store_digest.cc
src/store_swapout.cc
src/tests/stub_store_client.cc
src/tests/testCoss.cc
src/tests/testNull.cc
src/tests/testUfs.cc
src/whois.cc

index 6dd33b486ef215c122e79137240bc1460f7e933c..9ea694ce3d3772b057f921cfefc9505e86a51b91 100644 (file)
@@ -1,6 +1,6 @@
 
 /*
- * $Id: Store.h,v 1.31 2007/04/20 23:10:59 wessels Exp $
+ * $Id: Store.h,v 1.32 2007/04/20 23:53:41 wessels Exp $
  *
  *
  * SQUID Web Proxy Cache          http://www.squid-cache.org/
@@ -84,7 +84,14 @@ public:
     void unlink();
     void makePublic();
     void makePrivate();
-    void cacheNegatively();
+    void setPublicKey();
+    void setPrivateKey();
+    void expireNow();
+    void releaseRequest();
+    void negativeCache();
+    void cacheNegatively();            /* argh, why both? */
+    void invokeHandlers();
+    void purgeMem();
     void swapOut();
     bool swapOutAble() const;
     void swapOutFileClose();
@@ -285,16 +292,12 @@ SQUIDCEXTERN StoreEntry *storeGetPublic(const char *uri, const method_t method);
 SQUIDCEXTERN StoreEntry *storeGetPublicByRequest(HttpRequest * request);
 SQUIDCEXTERN StoreEntry *storeGetPublicByRequestMethod(HttpRequest * request, const method_t method);
 SQUIDCEXTERN StoreEntry *storeCreateEntry(const char *, const char *, request_flags, method_t);
-SQUIDCEXTERN void storeSetPublicKey(StoreEntry *);
 SQUIDCEXTERN void storeCreateMemObject(StoreEntry *, const char *, const char *);
 SQUIDCEXTERN void storeInit(void);
 extern void storeRegisterWithCacheManager(CacheManager & manager);
 SQUIDCEXTERN void storeAppend(StoreEntry *, const char *, int);
-SQUIDCEXTERN void storeExpireNow(StoreEntry *);
-SQUIDCEXTERN void storeReleaseRequest(StoreEntry *);
 SQUIDCEXTERN void storeConfigure(void);
 SQUIDCEXTERN int storeCheckNegativeHit(StoreEntry *);
-SQUIDCEXTERN void storeNegativeCache(StoreEntry *);
 SQUIDCEXTERN void storeFreeMemory(void);
 SQUIDCEXTERN int expiresMoreThan(time_t, time_t);
 SQUIDCEXTERN int storeEntryValidToSend(StoreEntry *);
@@ -315,7 +318,6 @@ SQUIDCEXTERN void storeAppendPrintf();
 #endif
 SQUIDCEXTERN void storeAppendVPrintf(StoreEntry *, const char *, va_list ap);
 SQUIDCEXTERN int storeCheckCachable(StoreEntry * e);
-SQUIDCEXTERN void storeSetPrivateKey(StoreEntry *);
 SQUIDCEXTERN ssize_t objectLen(const StoreEntry * e);
 SQUIDCEXTERN int storeTooManyDiskFilesOpen(void);
 SQUIDCEXTERN void storeEntryReset(StoreEntry *);
index 3c17cdce6def0f055bfb4f62bf926f5a32d35916..0853f9d9c8a8fb61b35fa8999ea8d90a6603a547 100644 (file)
@@ -1,6 +1,6 @@
 
 /*
- * $Id: client_side_reply.cc,v 1.118 2007/04/20 22:17:06 wessels Exp $
+ * $Id: client_side_reply.cc,v 1.119 2007/04/20 23:53:41 wessels Exp $
  *
  * DEBUG: section 88    Client-side Reply Routines
  * AUTHOR: Robert Collins (Originally Duane Wessels in client_side.c)
@@ -710,7 +710,7 @@ clientReplyContext::processMiss()
             http->logType = LOG_TCP_REDIRECT;
 #endif
 
-            storeReleaseRequest(http->storeEntry());
+            http->storeEntry()->releaseRequest();
             rep->redirect(http->redirect.status, http->redirect.location);
             http->storeEntry()->replaceHttpReply(rep);
             http->storeEntry()->complete();
@@ -945,7 +945,7 @@ clientReplyContext::traceReply(clientStreamNode * node)
     tempBuffer.data = next->readBuffer.data;
     storeClientCopy(sc, http->storeEntry(),
                     tempBuffer, SendMoreData, this);
-    storeReleaseRequest(http->storeEntry());
+    http->storeEntry()->releaseRequest();
     storeBuffer(http->storeEntry());
     HttpReply *rep = new HttpReply;
     HttpVersion version(1,0);
index 855d1010eef9fb178e302395c4b0bcfa7a3d0c61..47cd0c2805bb8768ee49f6d0d95f7a616534f5ae 100644 (file)
@@ -1,6 +1,6 @@
 
 /*
- * $Id: client_side_request.cc,v 1.81 2007/04/20 22:17:06 wessels Exp $
+ * $Id: client_side_request.cc,v 1.82 2007/04/20 23:53:41 wessels Exp $
  * 
  * DEBUG: section 85    Client-side Request Routines
  * AUTHOR: Robert Collins (Originally Duane Wessels in client_side.c)
@@ -243,7 +243,7 @@ ClientHttpRequest::~ClientHttpRequest()
     // because we did not initiate that pipe (ConnStateData did)
 
     /* the ICP check here was erroneous
-     * - storeReleaseRequest was always called if entry was valid 
+     * - StoreEntry::releaseRequest was always called if entry was valid 
      */
     assert(logType < LOG_TYPE_MAX);
 
index 3eb3506d588e1f06cb926f8031badeb0dddafcbf..e3108138898f244968931f73ad90d4a70fd162db 100644 (file)
@@ -1,6 +1,6 @@
 
 /*
- * $Id: errorpage.cc,v 1.220 2006/11/07 03:00:52 hno Exp $
+ * $Id: errorpage.cc,v 1.221 2007/04/20 23:53:41 wessels Exp $
  *
  * DEBUG: section 4     Error Generation
  * AUTHOR: Duane Wessels
@@ -395,8 +395,8 @@ errorAppendEntry(StoreEntry * entry, ErrorState * err)
     EBIT_CLR(entry->flags, ENTRY_FWD_HDR_WAIT);
     storeBufferFlush(entry);
     entry->complete();
-    storeNegativeCache(entry);
-    storeReleaseRequest(entry);
+    entry->negativeCache();
+    entry->releaseRequest();
     entry->unlock();
     errorStateFree(err);
 }
index 28112e6edf44e687836fdc115dfa3033efa2039b..8410e61deec120e74ee160f8b99a11cfc9cf9989 100644 (file)
@@ -1,6 +1,6 @@
 
 /*
- * $Id: forward.cc,v 1.158 2007/04/16 18:35:29 wessels Exp $
+ * $Id: forward.cc,v 1.159 2007/04/20 23:53:41 wessels Exp $
  *
  * DEBUG: section 17    Request Forwarding
  * AUTHOR: Duane Wessels
@@ -151,7 +151,7 @@ FwdState::completed()
         } else {
             EBIT_CLR(entry->flags, ENTRY_FWD_HDR_WAIT);
             entry->complete();
-            storeReleaseRequest(entry);
+            entry->releaseRequest();
         }
     }
 
index 8bec228407443d35f6f3362810ccd9c01cd7c254..c94f00372b2f5934633e4f31c37b918bea7af989 100644 (file)
@@ -1,6 +1,6 @@
 
 /*
- * $Id: store_dir_coss.cc,v 1.68 2006/09/14 00:51:10 robertc Exp $
+ * $Id: store_dir_coss.cc,v 1.69 2007/04/20 23:53:42 wessels Exp $
  * vim: set et : 
  *
  * DEBUG: section 47    Store COSS Directory Routines
@@ -441,8 +441,8 @@ storeCossRebuildFromSwapLog(void *data)
                  * because adding to store_swap_size happens in
                  * the cleanup procedure.
                  */
-                storeExpireNow(e);
-                storeReleaseRequest(e);
+                e->expireNow();
+                e->releaseRequest();
 
                 if (e->swap_filen > -1) {
                     e->swap_filen = -1;
index df7aef487d61b11a7671179e51ce63dd8409d103..08b6960d128c5201ece5dde9612cc399a8b22cd8 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * $Id: ufscommon.cc,v 1.8 2007/04/12 23:51:58 wessels Exp $
+ * $Id: ufscommon.cc,v 1.9 2007/04/20 23:53:42 wessels Exp $
  * vim: set et : 
  *
  * DEBUG: section 47    Store Directory Routines
@@ -375,8 +375,8 @@ RebuildState::rebuildFromSwapLog()
                  * because adding to store_swap_size happens in
                  * the cleanup procedure.
                  */
-                storeExpireNow(currentEntry());
-                storeReleaseRequest(currentEntry());
+                currentEntry()->expireNow();
+                currentEntry()->releaseRequest();
 
                 if (currentEntry()->swap_filen > -1) {
                     UFSSwapDir *sdForThisEntry = dynamic_cast<UFSSwapDir *>(INDEXSD(currentEntry()->swap_dirn));
@@ -491,8 +491,8 @@ RebuildState::rebuildFromSwapLog()
         } else if (currentEntry()) {
             /* key already exists, this swapfile not being used */
             /* junk old, load new */
-            storeExpireNow(currentEntry());
-            storeReleaseRequest(currentEntry());
+            currentEntry()->expireNow();
+            currentEntry()->releaseRequest();
 
             if (currentEntry()->swap_filen > -1) {
                 UFSSwapDir *sdForThisEntry = dynamic_cast<UFSSwapDir *>(INDEXSD(currentEntry()->swap_dirn));
index 3908174e70d6030a55881296fa063f06dfb8d912..2983516f9a90ce64c79fb9f62ba9b44e0056be0f 100644 (file)
@@ -1,6 +1,6 @@
 
 /*
- * $Id: ftp.cc,v 1.412 2007/04/16 21:49:03 wessels Exp $
+ * $Id: ftp.cc,v 1.413 2007/04/20 23:53:41 wessels Exp $
  *
  * DEBUG: section 9     File Transfer Protocol (FTP)
  * AUTHOR: Harvest Derived
@@ -3163,7 +3163,7 @@ FtpStateData::appendSuccessHeader()
          */
         e->release();
     } else if (EBIT_TEST(e->flags, ENTRY_CACHABLE) && !restarted_offset) {
-        storeSetPublicKey(e);
+        e->setPublicKey();
     } else {
         e->release();
     }
index 120911f19563ca0a0ce3503c6464f4a4e0c3ba98..b88a861b8536c46c46251e9981670e4471e32627 100644 (file)
@@ -1,6 +1,6 @@
 
 /*
- * $Id: gopher.cc,v 1.200 2006/09/19 07:56:57 adrian Exp $
+ * $Id: gopher.cc,v 1.201 2007/04/20 23:53:41 wessels Exp $
  *
  * DEBUG: section 10    Gopher
  * AUTHOR: Harvest Derived
@@ -925,7 +925,7 @@ gopherSendRequest(int fd, void *data)
     comm_write(fd, buf, strlen(buf), gopherSendComplete, gopherState, NULL);
 
     if (EBIT_TEST(gopherState->entry->flags, ENTRY_CACHABLE))
-        storeSetPublicKey(gopherState->entry); /* Make it public */
+        gopherState->entry->setPublicKey();    /* Make it public */
 }
 
 CBDATA_TYPE(GopherStateData);
index 90dc096230d517eebb4c40e35c76a1281092a315..927589d81f3282d46f00b2718cc09e4cf239a0ac 100644 (file)
@@ -1,6 +1,6 @@
 
 /*
- * $Id: htcp.cc,v 1.72 2007/04/12 05:03:54 wessels Exp $
+ * $Id: htcp.cc,v 1.73 2007/04/20 23:53:41 wessels Exp $
  *
  * DEBUG: section 31    Hypertext Caching Protocol
  * AUTHOR: Duane Wesssels
@@ -1063,7 +1063,7 @@ static void
 htcpClrStoreEntry(StoreEntry * e)
 {
     debug(31, 4) ("htcpClrStoreEntry: Clearing store for entry: %s\n", storeUrl(e));
-    storeReleaseRequest(e);
+    e->releaseRequest();
 }
 
 static int
index 67780b077ef917f5df448d4c6b8ddd6c4078da2b..db6fddbd2045d58b3041e270d029eaf571448ffb 100644 (file)
@@ -1,6 +1,6 @@
 
 /*
- * $Id: http.cc,v 1.513 2007/04/15 14:46:16 serassio Exp $
+ * $Id: http.cc,v 1.514 2007/04/20 23:53:41 wessels Exp $
  *
  * DEBUG: section 11    Hypertext Transfer Protocol (HTTP)
  * AUTHOR: Harvest Derived
@@ -119,7 +119,7 @@ HttpStateData::HttpStateData(FwdState *theFwdState) : ServerStateData(theFwdStat
          * for example, the request to this neighbor fails.
          */
         if (_peer->options.proxy_only)
-            storeReleaseRequest(entry);
+            entry->releaseRequest();
 
 #if DELAY_POOLS
 
index 9976f9f9f57d61f23f5913a0055868c6a6932881..65d9bd52329a322f868c659ed8f325297d5e0d54 100644 (file)
@@ -1,6 +1,6 @@
 
 /*
- * $Id: mime.cc,v 1.128 2006/09/20 06:29:10 adrian Exp $
+ * $Id: mime.cc,v 1.129 2007/04/20 23:53:41 wessels Exp $
  *
  * DEBUG: section 25    MIME Parsing
  * AUTHOR: Harvest Derived
@@ -572,7 +572,7 @@ MimeIcon::created (StoreEntry *newEntry)
                                      METHOD_GET);
     assert(e != NULL);
     EBIT_SET(e->flags, ENTRY_SPECIAL);
-    storeSetPublicKey(e);
+    e->setPublicKey();
     storeBuffer(e);
     HttpRequest *r = HttpRequest::CreateFromUrl(url);
 
index 97d7c1cb3052b5612549c8b0152de2bb18fa5931..fa5b5f93cd116eb2268c6df434a4614781261e3c 100644 (file)
@@ -1,6 +1,6 @@
 
 /*
- * $Id: neighbors.cc,v 1.345 2007/04/20 07:29:47 wessels Exp $
+ * $Id: neighbors.cc,v 1.346 2007/04/20 23:53:41 wessels Exp $
  *
  * DEBUG: section 15    Neighbor Routines
  * AUTHOR: Harvest Derived
@@ -1529,7 +1529,7 @@ peerCountMcastPeersDone(void *data)
 
     EBIT_SET(fake->flags, ENTRY_ABORTED);
     HTTPMSGUNLOCK(fake->mem_obj->request);
-    storeReleaseRequest(fake);
+    fake->releaseRequest();
     fake->unlock();
     HTTPMSGUNLOCK(psstate->request);
     cbdataFree(psstate);
index ba2d46db90526a7a3e0ba6336fe4e21577f52a97..9a483a2c9ddf671d7374ca06a81ed2a1a3acabf6 100644 (file)
@@ -1,6 +1,6 @@
 
 /*
- * $Id: peer_digest.cc,v 1.119 2007/04/12 23:30:09 wessels Exp $
+ * $Id: peer_digest.cc,v 1.120 2007/04/20 23:53:41 wessels Exp $
  *
  * DEBUG: section 72    Peer Digest Routines
  * AUTHOR: Alex Rousskov
@@ -586,7 +586,7 @@ peerDigestFetchReply(void *data, char *buf, ssize_t size)
             if (fetch->old_entry) {
                 debug(72, 3) ("peerDigestFetchReply: got new digest, releasing old one\n");
                 storeUnregister(fetch->old_sc, fetch->old_entry, fetch);
-                storeReleaseRequest(fetch->old_entry);
+                fetch->old_entry->releaseRequest();
                 fetch->old_entry->unlock();
                 fetch->old_entry = NULL;
             }
@@ -923,7 +923,7 @@ peerDigestFetchFinish(DigestFetchState * fetch, int err)
     if (fetch->old_entry) {
         debug(72, 2) ("peerDigestFetchFinish: deleting old entry\n");
         storeUnregister(fetch->old_sc, fetch->old_entry, fetch);
-        storeReleaseRequest(fetch->old_entry);
+        fetch->old_entry->releaseRequest();
         fetch->old_entry->unlock();
         fetch->old_entry = NULL;
     }
index c692949ae35822d8aab10660c38e939e9e50ef54..fb240b6196141b028b07e08cec9e115f7fbd2550 100644 (file)
@@ -1,6 +1,6 @@
 
 /*
- * $Id: protos.h,v 1.541 2007/04/17 23:05:17 wessels Exp $
+ * $Id: protos.h,v 1.542 2007/04/20 23:53:41 wessels Exp $
  *
  *
  * SQUID Web Proxy Cache          http://www.squid-cache.org/
@@ -570,7 +570,6 @@ SQUIDCEXTERN void storeSwapInStart(store_client *);
 SQUIDCEXTERN store_client *storeClientListAdd(StoreEntry * e, void *data);
 SQUIDCEXTERN int storeClientCopyPending(store_client *, StoreEntry * e, void *data);
 SQUIDCEXTERN int storeUnregister(store_client * sc, StoreEntry * e, void *data);
-SQUIDCEXTERN void InvokeHandlers(StoreEntry * e);
 SQUIDCEXTERN int storePendingNClients(const StoreEntry * e);
 SQUIDCEXTERN int storeClientIsThisAClient(store_client * sc, void *someClient);
 
index a24ceb3a2345d610ee573f8444f3b54e15762db0..68760e3976c4f449e18b88eea41ba800bd24b08f 100644 (file)
@@ -1,6 +1,6 @@
 
 /*
- * $Id: store.cc,v 1.607 2007/04/20 23:10:59 wessels Exp $
+ * $Id: store.cc,v 1.608 2007/04/20 23:53:41 wessels Exp $
  *
  * DEBUG: section 20    Storage Manager
  * AUTHOR: Harvest Derived
@@ -107,7 +107,6 @@ static storerepl_entry_t *storerepl_list = NULL;
 static void storeGetMemSpace(int);
 static void storeHashDelete(StoreEntry *);
 static void destroy_MemObject(StoreEntry *);
-static void storePurgeMem(StoreEntry *);
 static int getKeyCounter(void);
 static int storeKeepInMemory(const StoreEntry *);
 static OBJH storeCheckCachableStats;
@@ -183,26 +182,26 @@ StoreEntry::makePublic()
     /* This object can be cached for a long time */
 
     if (EBIT_TEST(flags, ENTRY_CACHABLE))
-        storeSetPublicKey(this);
+        setPublicKey();
 }
 
 void
 StoreEntry::makePrivate()
 {
     /* This object should never be cached at all */
-    storeExpireNow(this);
-    storeReleaseRequest(this); /* delete object when not used */
-    /* storeReleaseRequest clears ENTRY_CACHABLE flag */
+    expireNow();
+    releaseRequest(); /* delete object when not used */
+    /* releaseRequest clears ENTRY_CACHABLE flag */
 }
 
 void
 StoreEntry::cacheNegatively()
 {
     /* This object may be negatively cached */
-    storeNegativeCache(this);
+    negativeCache();
 
     if (EBIT_TEST(flags, ENTRY_CACHABLE))
-        storeSetPublicKey(this);
+        setPublicKey();
 }
 
 size_t
@@ -428,19 +427,19 @@ storeHashDelete(StoreEntry * e)
 
 
 /* get rid of memory copy of the object */
-static void
-storePurgeMem(StoreEntry * e)
+void
+StoreEntry::purgeMem()
 {
-    if (e->mem_obj == NULL)
+    if (mem_obj == NULL)
         return;
 
-    debug(20, 3) ("storePurgeMem: Freeing memory-copy of %s\n",
-                  e->getMD5Text());
+    debug(20, 3) ("StoreEntry::purgeMem: Freeing memory-copy of %s\n",
+                  getMD5Text());
 
-    destroy_MemObject(e);
+    destroy_MemObject(this);
 
-    if (e->swap_status != SWAPOUT_DONE)
-        e->release();
+    if (swap_status != SWAPOUT_DONE)
+        release();
 }
 
 /* RBC 20050104 this is wrong- memory ref counting
@@ -473,21 +472,21 @@ StoreEntry::setReleaseFlag()
 }
 
 void
-storeReleaseRequest(StoreEntry * e)
+StoreEntry::releaseRequest()
 {
-    if (EBIT_TEST(e->flags, RELEASE_REQUEST))
+    if (EBIT_TEST(flags, RELEASE_REQUEST))
         return;
 
-    e->setReleaseFlag();
+    setReleaseFlag();
 
     /*
      * Clear cachable flag here because we might get called before
      * anyone else even looks at the cachability flag.  Also, this
      * prevents httpMakePublic from really setting a public key.
      */
-    EBIT_CLR(e->flags, ENTRY_CACHABLE);
+    EBIT_CLR(flags, ENTRY_CACHABLE);
 
-    storeSetPrivateKey(e);
+    setPrivateKey();
 }
 
 /* unlock object, return -1 if object get released after unlock
@@ -519,8 +518,8 @@ StoreEntry::unlock()
         if (EBIT_TEST(flags, KEY_PRIVATE))
             debug(20, 1) ("WARNING: %s:%d: found KEY_PRIVATE\n", __FILE__, __LINE__);
 
-        /* storePurgeMem may free e */
-        storePurgeMem(this);
+        /* StoreEntry::purgeMem may free e */
+        purgeMem();
     }
 
     return 0;
@@ -607,44 +606,42 @@ getKeyCounter(void)
  * concept'.
  */
 void
-storeSetPrivateKey(StoreEntry * e)
+StoreEntry::setPrivateKey()
 {
     const cache_key *newkey;
-    MemObject *mem = e->mem_obj;
 
-    if (e->key && EBIT_TEST(e->flags, KEY_PRIVATE))
+    if (key && EBIT_TEST(flags, KEY_PRIVATE))
         return;                 /* is already private */
 
-    if (e->key) {
-        if (e->swap_filen > -1)
-            storeDirSwapLog(e, SWAP_LOG_DEL);
+    if (key) {
+        if (swap_filen > -1)
+            storeDirSwapLog(this, SWAP_LOG_DEL);
 
-        storeHashDelete(e);
+        storeHashDelete(this);
     }
 
-    if (mem != NULL) {
-        mem->id = getKeyCounter();
-        newkey = storeKeyPrivate(mem->url, mem->method, mem->id);
+    if (mem_obj != NULL) {
+        mem_obj->id = getKeyCounter();
+        newkey = storeKeyPrivate(mem_obj->url, mem_obj->method, mem_obj->id);
     } else {
         newkey = storeKeyPrivate("JUNK", METHOD_NONE, getKeyCounter());
     }
 
     assert(hash_lookup(store_table, newkey) == NULL);
-    EBIT_SET(e->flags, KEY_PRIVATE);
-    storeHashInsert(e, newkey);
+    EBIT_SET(flags, KEY_PRIVATE);
+    storeHashInsert(this, newkey);
 }
 
 void
-storeSetPublicKey(StoreEntry * e)
+StoreEntry::setPublicKey()
 {
     StoreEntry *e2 = NULL;
     const cache_key *newkey;
-    MemObject *mem = e->mem_obj;
 
-    if (e->key && !EBIT_TEST(e->flags, KEY_PRIVATE))
+    if (key && !EBIT_TEST(flags, KEY_PRIVATE))
         return;                 /* is already public */
 
-    assert(mem);
+    assert(mem_obj);
 
     /*
      * We can't make RELEASE_REQUEST objects public.  Depending on
@@ -654,31 +651,31 @@ storeSetPublicKey(StoreEntry * e)
      * been freed from memory.
      *
      * If RELEASE_REQUEST is set, then ENTRY_CACHABLE should not
-     * be set, and storeSetPublicKey() should not be called.
+     * be set, and StoreEntry::setPublicKey() should not be called.
      */
 #if MORE_DEBUG_OUTPUT
 
-    if (EBIT_TEST(e->flags, RELEASE_REQUEST))
+    if (EBIT_TEST(flags, RELEASE_REQUEST))
         debug(20, 1) ("assertion failed: RELEASE key %s, url %s\n",
-                      e->key, mem->url);
+                      key, mem->url);
 
 #endif
 
-    assert(!EBIT_TEST(e->flags, RELEASE_REQUEST));
+    assert(!EBIT_TEST(flags, RELEASE_REQUEST));
 
-    if (mem->request) {
-        HttpRequest *request = mem->request;
+    if (mem_obj->request) {
+        HttpRequest *request = mem_obj->request;
 
-        if (!mem->vary_headers) {
+        if (!mem_obj->vary_headers) {
             /* First handle the case where the object no longer varies */
             safe_free(request->vary_headers);
         } else {
-            if (request->vary_headers && strcmp(request->vary_headers, mem->vary_headers) != 0) {
+            if (request->vary_headers && strcmp(request->vary_headers, mem_obj->vary_headers) != 0) {
                 /* Oops.. the variance has changed. Kill the base object
                  * to record the new variance key
                  */
                 safe_free(request->vary_headers);       /* free old "bad" variance key */
-                StoreEntry *pe = storeGetPublic(mem->url, mem->method);
+                StoreEntry *pe = storeGetPublic(mem_obj->url, mem_obj->method);
 
                 if (pe)
                     pe->release();
@@ -686,22 +683,22 @@ storeSetPublicKey(StoreEntry * e)
 
             /* Make sure the request knows the variance status */
             if (!request->vary_headers) {
-                const char *vary = httpMakeVaryMark(request, mem->getReply());
+                const char *vary = httpMakeVaryMark(request, mem_obj->getReply());
 
                 if (vary)
                     request->vary_headers = xstrdup(vary);
             }
         }
 
-        if (mem->vary_headers && !storeGetPublic(mem->url, mem->method)) {
+        if (mem_obj->vary_headers && !storeGetPublic(mem_obj->url, mem_obj->method)) {
             /* Create "vary" base object */
             String vary;
-            StoreEntry *pe = storeCreateEntry(mem->url, mem->log_url, request->flags, request->method);
+            StoreEntry *pe = storeCreateEntry(mem_obj->url, mem_obj->log_url, request->flags, request->method);
             HttpVersion version(1, 0);
             /* We are allowed to do this typecast */
             HttpReply *rep = new HttpReply;
             rep->setHeaders(version, HTTP_OK, "Internal marker object", "x-squid-internal/vary", -1, -1, squid_curtime + 100000);
-            vary = mem->getReply()->header.getList(HDR_VARY);
+            vary = mem_obj->getReply()->header.getList(HDR_VARY);
 
             if (vary.size()) {
                 /* Again, we own this structure layout */
@@ -710,7 +707,7 @@ storeSetPublicKey(StoreEntry * e)
             }
 
 #if X_ACCELERATOR_VARY
-            vary = mem->getReply()->header.getList(HDR_X_ACCELERATOR_VARY);
+            vary = mem_obj->getReply()->header.getList(HDR_X_ACCELERATOR_VARY);
 
             if (vary.buf()) {
                 /* Again, we own this structure layout */
@@ -730,30 +727,30 @@ storeSetPublicKey(StoreEntry * e)
             pe->unlock();
         }
 
-        newkey = storeKeyPublicByRequest(mem->request);
+        newkey = storeKeyPublicByRequest(mem_obj->request);
     } else
-        newkey = storeKeyPublic(mem->url, mem->method);
+        newkey = storeKeyPublic(mem_obj->url, mem_obj->method);
 
     if ((e2 = (StoreEntry *) hash_lookup(store_table, newkey))) {
-        debug(20, 3) ("storeSetPublicKey: Making old '%s' private.\n", mem->url);
-        storeSetPrivateKey(e2);
+        debug(20, 3) ("StoreEntry::setPublicKey: Making old '%s' private.\n", mem_obj->url);
+        e2->setPrivateKey();
         e2->release();
 
-        if (mem->request)
-            newkey = storeKeyPublicByRequest(mem->request);
+        if (mem_obj->request)
+            newkey = storeKeyPublicByRequest(mem_obj->request);
         else
-            newkey = storeKeyPublic(mem->url, mem->method);
+            newkey = storeKeyPublic(mem_obj->url, mem_obj->method);
     }
 
-    if (e->key)
-        storeHashDelete(e);
+    if (key)
+        storeHashDelete(this);
 
-    EBIT_CLR(e->flags, KEY_PRIVATE);
+    EBIT_CLR(flags, KEY_PRIVATE);
 
-    storeHashInsert(e, newkey);
+    storeHashInsert(this, newkey);
 
-    if (e->swap_filen > -1)
-        storeDirSwapLog(e, SWAP_LOG_ADD);
+    if (swap_filen > -1)
+        storeDirSwapLog(this, SWAP_LOG_ADD);
 }
 
 StoreEntry *
@@ -769,16 +766,16 @@ storeCreateEntry(const char *url, const char *log_url, request_flags flags, meth
     mem->method = method;
 
     if (neighbors_do_private_keys || !flags.hierarchical)
-        storeSetPrivateKey(e);
+        e->setPrivateKey();
     else
-        storeSetPublicKey(e);
+        e->setPublicKey();
 
     if (flags.cachable) {
         EBIT_SET(e->flags, ENTRY_CACHABLE);
         EBIT_CLR(e->flags, RELEASE_REQUEST);
     } else {
-        /* storeReleaseRequest() clears ENTRY_CACHABLE */
-        storeReleaseRequest(e);
+        /* StoreEntry::releaseRequest() clears ENTRY_CACHABLE */
+        e->releaseRequest();
     }
 
     e->store_status = STORE_PENDING;
@@ -796,10 +793,10 @@ storeCreateEntry(const char *url, const char *log_url, request_flags flags, meth
 
 /* Mark object as expired */
 void
-storeExpireNow(StoreEntry * e)
+StoreEntry::expireNow()
 {
-    debug(20, 3) ("storeExpireNow: '%s'\n", e->getMD5Text());
-    e->expires = squid_curtime;
+    debug(20, 3) ("StoreEntry::expireNow: '%s'\n", getMD5Text());
+    expires = squid_curtime;
 }
 
 void
@@ -813,7 +810,7 @@ storeWriteComplete (void *data, StoreIOBuffer wroteBuffer)
         return;
     }
 
-    InvokeHandlers(e);
+    e->invokeHandlers();
     PROF_stop(storeWriteComplete);
 }
 
@@ -837,7 +834,7 @@ StoreEntry::write (StoreIOBuffer writeBuffer)
          * -RBC 20060903
          */
         PROF_stop(StoreEntry_write);
-        InvokeHandlers(this);
+        invokeHandlers();
         return;
       }
 
@@ -1028,8 +1025,8 @@ storeCheckCachable(StoreEntry * e)
             return 1;
         }
 
-    storeReleaseRequest(e);
-    /* storeReleaseRequest() cleared ENTRY_CACHABLE */
+    e->releaseRequest();
+    /* StoreEntry::releaseRequest() cleared ENTRY_CACHABLE */
     return 0;
 }
 
@@ -1090,7 +1087,7 @@ StoreEntry::complete()
 
     if (!validLength()) {
         EBIT_SET(flags, ENTRY_BAD_LENGTH);
-        storeReleaseRequest(this);
+        releaseRequest();
     }
 
 #if USE_CACHE_DIGESTS
@@ -1099,12 +1096,12 @@ StoreEntry::complete()
 
 #endif
     /*
-     * We used to call InvokeHandlers, then storeSwapOut.  However,
+     * We used to call invokeHandlers, then storeSwapOut.  However,
      * Madhukar Reddy <myreddy@persistence.com> reported that
      * responses without content length would sometimes get released
      * in client_side, thinking that the response is incomplete.
      */
-    InvokeHandlers(this);
+    invokeHandlers();
 }
 
 /*
@@ -1123,9 +1120,9 @@ StoreEntry::abort()
     lock()
 
     ;         /* lock while aborting */
-    storeNegativeCache(this);
+    negativeCache();
 
-    storeReleaseRequest(this);
+    releaseRequest();
 
     EBIT_SET(flags, ENTRY_ABORTED);
 
@@ -1159,7 +1156,7 @@ StoreEntry::abort()
      * unneeded disk swapping triggered? 
      */
     /* Notify the client side */
-    InvokeHandlers(this);
+    invokeHandlers();
 
     /* Close any swapout file */
     swapOutFileClose();
@@ -1199,7 +1196,7 @@ storeGetMemSpace(int size)
     walker = mem_policy->PurgeInit(mem_policy, 100000);
 
     while ((e = walker->Next(walker))) {
-        storePurgeMem(e);
+        e->purgeMem();
         released++;
 
         if (mem_node::InUseCount() + pages_needed < store_pages_max)
@@ -1270,15 +1267,15 @@ StoreEntry::release()
      * outstanding request, mark it for pending release */
 
     if (storeEntryLocked(this)) {
-        storeExpireNow(this);
+        expireNow();
         debug(20, 3) ("storeRelease: Only setting RELEASE_REQUEST bit\n");
-        storeReleaseRequest(this);
+        releaseRequest();
         PROF_stop(storeRelease);
         return;
     }
 
     if (StoreController::store_dirs_rebuilding && swap_filen > -1) {
-        storeSetPrivateKey(this);
+        setPrivateKey();
 
         if (mem_obj)
             destroy_MemObject(this);
@@ -1492,10 +1489,10 @@ storeCheckNegativeHit(StoreEntry * e)
 }
 
 void
-storeNegativeCache(StoreEntry * e)
+StoreEntry::negativeCache()
 {
-    e->expires = squid_curtime + Config.negativeTtl;
-    EBIT_SET(e->flags, ENTRY_NEGCACHED);
+    expires = squid_curtime + Config.negativeTtl;
+    EBIT_SET(flags, ENTRY_NEGCACHED);
 }
 
 void
@@ -1704,7 +1701,7 @@ StoreEntry::flush()
 {
     if (EBIT_TEST(flags, DELAY_SENDING)) {
         EBIT_CLR(flags, DELAY_SENDING);
-        InvokeHandlers(this);
+        invokeHandlers();
     }
 }
 
@@ -1905,7 +1902,7 @@ StoreEntry::trimMemory()
          * so we must make it PRIVATE.  This is tricky/ugly because
          * for the most part, we treat swapable == cachable here.
          */
-        storeReleaseRequest(this);
+        releaseRequest();
         mem_obj->trimUnSwappable ();
     } else {
         mem_obj->trimSwappable ();
index f9366a000f1110cbf7d4fff386d5836bcb91bff5..9943b94305dec25179bd9a668786de956fe380d0 100644 (file)
@@ -1,6 +1,6 @@
 
 /*
- * $Id: store_client.cc,v 1.153 2007/04/20 23:10:59 wessels Exp $
+ * $Id: store_client.cc,v 1.154 2007/04/20 23:53:42 wessels Exp $
  *
  * DEBUG: section 90    Storage Manager Client-Side Interface
  * AUTHOR: Duane Wessels
@@ -700,25 +700,24 @@ storeUnregister(store_client * sc, StoreEntry * e, void *data)
 
 /* Call handlers waiting for  data to be appended to E. */
 void
-InvokeHandlers(StoreEntry * e)
+StoreEntry::invokeHandlers()
 {
     /* Commit what we can to disk, if appropriate */
-    e->swapOut();
+    swapOut();
     int i = 0;
-    MemObject *mem = e->mem_obj;
     store_client *sc;
     dlink_node *nx = NULL;
     dlink_node *node;
 
-    PROF_start(InvokeHandlers);
+    PROF_start(StoreEntry::invokeHandlers);
 
-    debug(90, 3) ("InvokeHandlers: %s\n", e->getMD5Text());
+    debug(90, 3) ("StoreEntry::invokeHandlers: %s\n", getMD5Text());
     /* walk the entire list looking for valid callbacks */
 
-    for (node = mem->clients.head; node; node = nx) {
+    for (node = mem_obj->clients.head; node; node = nx) {
         sc = (store_client *)node->data;
         nx = node->next;
-        debug(90, 3) ("InvokeHandlers: checking client #%d\n", i++);
+        debug(90, 3) ("StoreEntry::invokeHandlers: checking client #%d\n", i++);
 
         if (!sc->_callback.pending())
             continue;
@@ -726,9 +725,9 @@ InvokeHandlers(StoreEntry * e)
         if (sc->flags.disk_io_pending)
             continue;
 
-        storeClientCopy2(e, sc);
+        storeClientCopy2(this, sc);
     }
-    PROF_stop(InvokeHandlers);
+    PROF_stop(StoreEntry::invokeHandlers);
 }
 
 int
index 80d7454c1bf0092213b29184bf1510622c08bc14..4bae80b66893e6e9aa3ea1c127062fd5a8346200 100644 (file)
@@ -1,6 +1,6 @@
 
 /*
- * $Id: store_digest.cc,v 1.71 2007/04/20 07:29:47 wessels Exp $
+ * $Id: store_digest.cc,v 1.72 2007/04/20 23:53:42 wessels Exp $
  *
  * DEBUG: section 71    Store Digest Manager
  * AUTHOR: Alex Rousskov
@@ -423,7 +423,7 @@ storeDigestRewriteResume(void)
     sd_state.rewrite_offset = 0;
     EBIT_SET(e->flags, ENTRY_SPECIAL);
     /* setting public key will purge old digest entry if any */
-    storeSetPublicKey(e);
+    e->setPublicKey();
     /* fake reply */
     HttpReply *rep = new HttpReply;
     HttpVersion version(1, 0);
index 9631ceec30f7519ba6a6892c4a6e067a2d125db7..4995ed432478c29aac9978d2031a38f61c53b422 100644 (file)
@@ -1,6 +1,6 @@
 
 /*
- * $Id: store_swapout.cc,v 1.113 2007/04/20 23:10:59 wessels Exp $
+ * $Id: store_swapout.cc,v 1.114 2007/04/20 23:53:42 wessels Exp $
  *
  * DEBUG: section 20    Storage Manager Swapout Functions
  * AUTHOR: Duane Wessels
@@ -347,7 +347,7 @@ storeSwapOutFileClosed(void *data, int errflag, StoreIOState::Pointer self)
 
         e->swap_status = SWAPOUT_NONE;
 
-        storeReleaseRequest(e);
+        e->releaseRequest();
     } else {
         /* swapping complete */
         debug(20, 3) ("storeSwapOutFileClosed: SwapOut complete: '%s' to %d, %08X\n",
index 12eb7de8501e5e0eb6d49b663d322505f917a8a2..48b8d1c4eb806c937030e151f1300251a31e5ffe 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * $Id: stub_store_client.cc,v 1.1 2005/01/03 16:08:27 robertc Exp $
+ * $Id: stub_store_client.cc,v 1.2 2007/04/20 23:53:48 wessels Exp $
  *
  * DEBUG: section 84    Helper process maintenance
  * AUTHOR: Robert Collins
@@ -34,6 +34,7 @@
 
 #include "squid.h"
 #include "StoreClient.h"
+#include "Store.h"
 
 int
 storePendingNClients(const StoreEntry * e)
@@ -45,7 +46,7 @@ storePendingNClients(const StoreEntry * e)
 /* Garh, too many stub files */
 
 void
-InvokeHandlers(StoreEntry * e)
+StoreEntry::invokeHandlers()
 {}
 
 void
index df98c302e4b3c8bece192b0af3234cfd7e5ae84e..a72376495071251d7bfc11e331a07f68d4709485 100644 (file)
@@ -196,7 +196,7 @@ testCoss::testCossSearch()
         HttpReply *rep = (HttpReply *) pe->getReply(); // bypass const
         rep->setHeaders(version, HTTP_OK, "dummy test object", "x-squid-internal/test", -1, -1, squid_curtime + 100000);
 
-        storeSetPublicKey(pe);
+        pe->setPublicKey();
 
         storeBuffer(pe);
         /* TODO: remove this when the metadata is separated */
index f0036fa14beae56a1d5d9b65f577fda6e15ed2dd..01c6ded46dcbba35dfd6994945a075940d4ee481 100644 (file)
@@ -164,7 +164,7 @@ testNull::testNullSearch()
         HttpReply *rep = (HttpReply *) pe->getReply(); // bypass const
         rep->setHeaders(version, HTTP_OK, "dummy test object", "x-squid-internal/test", -1, -1, squid_curtime + 100000);
 
-        storeSetPublicKey(pe);
+        pe->setPublicKey();
 
         storeBuffer(pe);
         /* TODO: remove this when the metadata is separated */
index 001f6701f9e5ef7eae4f9748b7356aba4bcc3b55..c1d9d39b519fa14bb66ba43d0fbabaacc322ea50 100644 (file)
@@ -144,7 +144,7 @@ testUfs::testUfsSearch()
         HttpReply *rep = (HttpReply *) pe->getReply(); // bypass const
         rep->setHeaders(version, HTTP_OK, "dummy test object", "x-squid-internal/test", -1, -1, squid_curtime + 100000);
 
-        storeSetPublicKey(pe);
+        pe->setPublicKey();
 
         storeBuffer(pe);
         /* TODO: remove this when the metadata is separated */
index 6acc98f19055ac3d319e65eaaec584bb7892127c..2c681f9d217548954c6c6ab5e2bcafb9c51cfe77 100644 (file)
@@ -1,6 +1,6 @@
 
 /*
- * $Id: whois.cc,v 1.38 2006/09/19 07:56:57 adrian Exp $
+ * $Id: whois.cc,v 1.39 2007/04/20 23:53:42 wessels Exp $
  *
  * DEBUG: section 75    WHOIS protocol
  * AUTHOR: Duane Wessels, Kostas Anagnostakis
@@ -184,7 +184,7 @@ WhoisState::readReply (int fd, char *buf, size_t len, comm_err_t flag, int xerrn
         storeBufferFlush(entry);
 
         if (!EBIT_TEST(entry->flags, RELEASE_REQUEST))
-            storeSetPublicKey(entry);
+            entry->setPublicKey();
 
         fwd->complete();