#define _MEM_POOLS_H_
#include "config.h"
-#include "Array.h"
#include "util.h"
#ifdef __cplusplus
+
template <class V>
+
class SplayNode;
+
typedef SplayNode<void *> splayNode;
+
#else
#include "splay.h"
#endif
#define MEM_MAX_FREE 65535 /* ushort is max number of items per chunk */
typedef struct _MemPoolMeter MemPoolMeter;
+
typedef struct _MemPool MemPool;
+
typedef struct _MemChunk MemChunk;
+
typedef struct _MemPoolStats MemPoolStats;
+
typedef struct _MemPoolGlobalStats MemPoolGlobalStats;
+
typedef struct _MemPoolIterator MemPoolIterator;
-struct _MemPoolIterator {
+struct _MemPoolIterator
+{
MemPool *pool;
MemPoolIterator * next;
};
/* object to track per-pool cumulative counters */
-typedef struct {
+
+typedef struct
+{
double count;
double bytes;
-} mgb_t;
+}
+
+mgb_t;
/* object to track per-pool memory usage (alloc = inuse+idle) */
-struct _MemPoolMeter {
+
+struct _MemPoolMeter
+{
MemMeter alloc;
MemMeter inuse;
MemMeter idle;
};
/* a pool is a [growing] space for objects of the same size */
-struct _MemPool {
+
+struct _MemPool
+{
const char *label;
size_t obj_size;
size_t chunk_size;
MemPool *next;
};
-struct _MemChunk {
+struct _MemChunk
+{
void *freeList;
void *objCache;
int inuse_count;
time_t lastref;
};
-struct _MemPoolStats {
+struct _MemPoolStats
+{
MemPool *pool;
const char *label;
MemPoolMeter *meter;
int overhead;
};
-struct _MemPoolGlobalStats {
+struct _MemPoolGlobalStats
+{
MemPoolMeter *TheMeter;
int tot_pools_alloc;
/*
- * $Id: HttpHeaderRange.h,v 1.3 2003/03/06 11:51:55 robertc Exp $
+ * $Id: HttpHeaderRange.h,v 1.4 2003/07/14 23:53:40 robertc Exp $
*
*
* SQUID Web Proxy Cache http://www.squid-cache.org/
#define SQUID_HTTPHEADERRANGE_H
#include "Range.h"
+#include "Array.h"
class HttpReply;
/* http byte-range-spec */
#define __COMM_H__
#include "StoreIOBuffer.h"
+#include "Array.h"
typedef void IOFCB(int fd, StoreIOBuffer recievedData, comm_err_t flag, int xerrno, void *data);
typedef void IOWCB(int fd, char *buffer, size_t len, comm_err_t flag, int xerrno, void *data);