stub_libmem.cc
Go to the documentation of this file.
1 /*
2  * Copyright (C) 1996-2023 The Squid Software Foundation and contributors
3  *
4  * Squid software is distributed under GPLv2+ license and includes
5  * contributions from numerous individuals and organizations.
6  * Please see the COPYING and CONTRIBUTORS files for details.
7  */
8 
9 #include "squid.h"
10 
11 #define STUB_API "mem/libmem.la"
12 #include "tests/STUB.h"
13 
14 #include "mem/Allocator.h"
15 
16 #include "mem/AllocatorProxy.h"
17 #include "mem/forward.h"
18 
19 void *Mem::AllocatorProxy::alloc() {return xmalloc(64*1024);}
20 void Mem::AllocatorProxy::freeOne(void *address) {xfree(address);}
21 int Mem::AllocatorProxy::inUseCount() const {return 0;}
22 size_t Mem::AllocatorProxy::getStats(PoolStats &) STUB_RETVAL(0)
23 
24 #include "mem/forward.h"
25 void Mem::Init() STUB_NOP
27 void Mem::CleanIdlePools(void *) STUB_NOP
28 void Mem::Report(std::ostream &) STUB_NOP
29 void Mem::PoolReport(const PoolStats *, const PoolMeter *, std::ostream &) STUB_NOP
30 //const size_t squidSystemPageSize = 4096;
31 void memClean(void) STUB
32 void memInitModule(void) STUB
33 void memCleanModule(void) STUB
34 void memConfigure(void) STUB
35 
36 void *memAllocate(mem_type)
37 {
38  // let's waste plenty of memory. This should cover any possible need
39  return xmalloc(64*1024);
40 }
41 
42 void *
43 memAllocBuf(size_t net_size, size_t * gross_size)
44 {
45  if (gross_size)
46  *gross_size = net_size;
47  return xmalloc(net_size);
48 }
49 
50 /* net_size is the new size, *gross size is the old gross size, to be changed to
51  * the new gross size as a side-effect.
52  */
53 void *
54 memReallocBuf(void *oldbuf, size_t net_size, size_t * gross_size)
55 {
56  void *rv=xrealloc(oldbuf,net_size);
57 // if (net_size > *gross_size)
58 // memset(rv+net_size,0,net_size-*gross_size);
59  *gross_size=net_size;
60  return rv;
61 }
62 
63 void memFree(void *p, int) {xfree(p);}
64 void memFreeBuf(size_t, void *buf) {xfree(buf);}
65 static void cxx_xfree(void * ptr) {xfree(ptr);}
66 FREE *memFreeBufFunc(size_t) {return cxx_xfree;}
68 
69 #include "mem/Pool.h"
70 static MemPools tmpMemPools;
71 MemPools &MemPools::GetInstance() {return tmpMemPools;}
73 void MemPools::flushMeters() STUB
74 Mem::Allocator * MemPools::create(const char *, size_t) STUB_RETVAL(nullptr);
75 void MemPools::clean(time_t) STUB
76 void MemPools::setDefaultPoolChunking(bool const &) STUB
77 
78 #include "mem/Stats.h"
79 size_t Mem::GlobalStats(PoolStats &) STUB_RETVAL(0)
void freeOne(void *)
Free a element allocated by Mem::AllocatorProxy::alloc()
size_t getStats(PoolStats &stats)
void * memAllocBuf(size_t net_size, size_t *gross_size)
Definition: stub_libmem.cc:43
void memFree(void *p, int)
Free a element allocated by memAllocate()
Definition: stub_libmem.cc:63
#define xmalloc
void memClean(void)
Main cleanup handler.
Definition: old_api.cc:328
int inUseCount() const
void * alloc()
Allocate one element from the pool.
void FREE(void *)
Definition: forward.h:37
#define STUB_RETVAL(x)
Definition: STUB.h:42
void PoolReport(const PoolStats *, const PoolMeter *, std::ostream &)
Definition: old_api.cc:478
mem_type
Types of memory pool which do not yet use MEMPROXY_CLASS() API.
Definition: forward.h:40
FREE * memFreeBufFunc(size_t)
Definition: stub_libmem.cc:66
void * memAllocate(mem_type)
Allocate one element from the typed pool.
Definition: old_api.cc:122
MemPools()
Definition: Pool.cc:40
size_t GlobalStats(PoolStats &)
Definition: Stats.cc:15
void Report(std::ostream &)
Definition: old_api.cc:548
void memCleanModule(void)
Memory Management.
Definition: Allocator.h:16
void Stats(StoreEntry *)
Definition: old_api.cc:77
void memConfigure(void)
Definition: old_api.cc:254
int memInUse(mem_type) STUB_RETVAL(0) static MemPools tmpMemPools
Definition: old_api.cc:344
void * memReallocBuf(void *oldbuf, size_t net_size, size_t *gross_size)
Definition: stub_libmem.cc:54
#define STUB
macro to stub a void function.
Definition: STUB.h:34
void memFreeBuf(size_t, void *buf)
Definition: stub_libmem.cc:64
#define xfree
static void cxx_xfree(void *ptr)
Definition: stub_libmem.cc:65
void memInitModule(void)
#define STUB_NOP
Definition: STUB.h:38
void Init()
Definition: old_api.cc:281
static MemPools & GetInstance()
Definition: Pool.cc:27
void CleanIdlePools(void *unused)
Definition: old_api.cc:247
Definition: Pool.h:60
void * xrealloc(void *s, size_t sz)
Definition: xalloc.cc:126

 

Introduction

Documentation

Support

Miscellaneous