]> git.ipfire.org Git - thirdparty/squid.git/commitdiff
simpler cacheobj implementation; use OpTable of OBJH functions
authorwessels <>
Sat, 9 Aug 1997 10:48:06 +0000 (10:48 +0000)
committerwessels <>
Sat, 9 Aug 1997 10:48:06 +0000 (10:48 +0000)
ChangeLog
src/protos.h
src/stat.cc
src/typedefs.h

index 59adcc21a7a071cddf2880eb7f877cfcbb1ec543..5e33e03650ff294e5dd92799fabad26f01552530 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,5 @@
+       - Simpler cacheobj implementation.
+
 Changes to squid-1.2.alpha5 ():
 
        - New configuration system.  Everything is generated from
index 163bf4ac43a15901e586c8ae6f345d71cd8de291..71dda84be3f6d309e26f70e924af486efbe3cfd4 100644 (file)
@@ -387,11 +387,6 @@ extern void init_stack _PARAMS((Stack *, int));
 extern void stackFreeMemory _PARAMS((Stack *));
 
 extern void stat_init _PARAMS((cacheinfo **, const char *));
-extern void stat_get _PARAMS((const char *req, StoreEntry *));
-extern void log_enable _PARAMS((StoreEntry *));
-extern void info_get _PARAMS((StoreEntry *));
-extern void server_list _PARAMS((StoreEntry *));
-extern void parameter_get _PARAMS((StoreEntry *));
 
 /* To reduce memory fragmentation, we now store the memory version of an
  * object in fixed size blocks of size PAGE_SIZE and instead of calling 
@@ -494,7 +489,6 @@ extern void storeDirSwapLog _PARAMS((const StoreEntry *));
 extern int storeDirNumber _PARAMS((int fileno));
 extern void storeDirUpdateSwapSize _PARAMS((int fn, size_t size, int sign));
 extern int storeDirProperFileno _PARAMS((int dirn, int fn));
-extern void storeDirStats _PARAMS((StoreEntry * sentry));
 
 
 extern const char *getMyHostname _PARAMS((void));
@@ -550,3 +544,14 @@ extern peer_t parseNeighborType _PARAMS((const char *s));
 extern void errorSend _PARAMS((int fd, ErrorState *));
 extern void errorAppendEntry _PARAMS((StoreEntry *, ErrorState *));
 extern void errorInitialize _PARAMS((void));
+
+extern OBJH stat_io_get;
+extern OBJH stat_objects_get;
+extern OBJH stat_vmobjects_get;
+extern OBJH stat_utilization_get;
+extern OBJH statFiledescriptors;
+extern OBJH log_enable;
+extern OBJH info_get;
+extern OBJH server_list;
+extern OBJH parameter_get;
+extern OBJH storeDirStats;
index 413f5f9f311fb26afa8ec16eeeba890dbed969cc..db974c9d655c9032cf97c36cfac93c7be6cbc88f 100644 (file)
@@ -1,6 +1,6 @@
 
 /*
- * $Id: stat.cc,v 1.150 1997/07/28 06:41:03 wessels Exp $
+ * $Id: stat.cc,v 1.151 1997/08/09 04:48:09 wessels Exp $
  *
  * DEBUG: section 18    Cache Manager Statistics
  * AUTHOR: Harvest Derived
@@ -131,10 +131,6 @@ static void proto_count _PARAMS((cacheinfo *, protocol_t, log_type));
 static void proto_newobject _PARAMS((cacheinfo *, protocol_t, int, int));
 static void proto_purgeobject _PARAMS((cacheinfo *, protocol_t, int));
 static void proto_touchobject _PARAMS((cacheinfo *, protocol_t, int));
-static void statFiledescriptors _PARAMS((StoreEntry *));
-static void stat_io_get _PARAMS((StoreEntry *));
-static void stat_objects_get _PARAMS((StoreEntry *, int vm_or_not));
-static void stat_utilization_get _PARAMS((cacheinfo *, StoreEntry *, const char *desc));
 static int memoryAccounted _PARAMS((void));
 
 #ifdef XMALLOC_STATISTICS
@@ -143,13 +139,12 @@ static void info_get_mallstat _PARAMS((int, int, StoreEntry *));
 
 /* process utilization information */
 static void
-stat_utilization_get(cacheinfo * obj, StoreEntry * sentry, const char *desc)
+statUtilization(cacheinfo * obj, StoreEntry * sentry, const char *desc)
 {
     protocol_t proto_id;
     proto_stat *p = &obj->proto_stat_data[PROTO_MAX];
     proto_stat *q = NULL;
     int secs = 0;
-
     secs = (int) (squid_curtime - squid_starttime);
     storeAppendPrintf(sentry, "{ %s\n", desc); /* } */
     strcpy(p->protoname, "TOTAL");
@@ -198,7 +193,14 @@ stat_utilization_get(cacheinfo * obj, StoreEntry * sentry, const char *desc)
     storeAppendPrintf(sentry, close_bracket);
 }
 
-static void
+void
+stat_utilization_get(StoreEntry *e)
+{
+       statUtilization(HTTPCacheInfo, e, "HTTP");
+       statUtilization(ICPCacheInfo, e, "ICP");
+}
+
+void
 stat_io_get(StoreEntry * sentry)
 {
     int i;
@@ -328,14 +330,12 @@ describeTimestamps(const StoreEntry * entry)
 
 /* process objects list */
 static void
-stat_objects_get(StoreEntry * sentry, int vm_or_not)
+statObjects(StoreEntry * sentry, int vm_or_not)
 {
     StoreEntry *entry = NULL;
     MemObject *mem;
     int N = 0;
-
     storeAppendPrintf(sentry, open_bracket);
-
     for (entry = storeGetFirst(); entry != NULL; entry = storeGetNext()) {
        mem = entry->mem_obj;
        if (vm_or_not && mem == NULL)
@@ -356,40 +356,16 @@ stat_objects_get(StoreEntry * sentry, int vm_or_not)
     storeAppendPrintf(sentry, close_bracket);
 }
 
-
-/* process a requested object into a manager format */
 void
-stat_get(const char *req, StoreEntry * sentry)
+stat_objects_get(StoreEntry *e)
 {
+       statObjects(e, 0);
+}
 
-    if (strcmp(req, "objects") == 0) {
-       stat_objects_get(sentry, 0);
-    } else if (strcmp(req, "vm_objects") == 0) {
-       stat_objects_get(sentry, 1);
-    } else if (strcmp(req, "ipcache") == 0) {
-       stat_ipcache_get(sentry);
-    } else if (strcmp(req, "fqdncache") == 0) {
-       fqdnStats(sentry);
-    } else if (strcmp(req, "dns") == 0) {
-       dnsStats(sentry);
-    } else if (strcmp(req, "redirector") == 0) {
-       redirectStats(sentry);
-    } else if (strcmp(req, "utilization") == 0) {
-       stat_utilization_get(HTTPCacheInfo, sentry, "HTTP");
-       stat_utilization_get(ICPCacheInfo, sentry, "ICP");
-    } else if (strcmp(req, "io") == 0) {
-       stat_io_get(sentry);
-    } else if (strcmp(req, "reply_headers") == 0) {
-       httpReplyHeaderStats(sentry);
-    } else if (strcmp(req, "filedescriptors") == 0) {
-       statFiledescriptors(sentry);
-    } else if (strcmp(req, "netdb") == 0) {
-       netdbDump(sentry);
-    } else if (strcmp(req, "storedir") == 0) {
-       storeDirStats(sentry);
-    } else if (strcmp(req, "cbdata") == 0) {
-       cbdataDump(sentry);
-    }
+void
+stat_vmobjects_get(StoreEntry *e)
+{
+       statObjects(e, 1);
 }
 
 void
@@ -469,12 +445,11 @@ fdRemoteAddr(const fde * f)
     return buf;
 }
 
-static void
+void
 statFiledescriptors(StoreEntry * sentry)
 {
     int i;
     fde *f;
-
     storeAppendPrintf(sentry, open_bracket);
     storeAppendPrintf(sentry, "{Active file descriptors:}\n");
     storeAppendPrintf(sentry, "{%-4s %-6s %-4s %-7s %-7s %-21s %s}\n",
index 89b0ab310b51032c1da29b9f284c1bc67b8ea397..e345652fd760f98be790a3679786701a6a13016d 100644 (file)
@@ -98,3 +98,4 @@ typedef int QS _PARAMS((const void *, const void *)); /* qsort */
 typedef void STCB _PARAMS((void *, char *, ssize_t));  /* store callback */
 typedef void STABH _PARAMS((void *));
 typedef void ERCB _PARAMS((int fd, void *, int size));
+typedef void OBJH _PARAMS((StoreEntry *));