Squid Web Cache master
Loading...
Searching...
No Matches
stub_libmem.cc
Go to the documentation of this file.
1/*
2 * Copyright (C) 1996-2025 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
19void *Mem::AllocatorProxy::alloc() {return xmalloc(64*1024);}
20void Mem::AllocatorProxy::freeOne(void *address) {xfree(address);}
21int Mem::AllocatorProxy::inUseCount() const {return 0;}
22size_t Mem::AllocatorProxy::getStats(PoolStats &) STUB_RETVAL(0)
23
24#include "mem/forward.h"
27void Mem::CleanIdlePools(void *) STUB_NOP
28void Mem::Report(std::ostream &) STUB_NOP
29void Mem::PoolReport(const PoolStats *, const PoolMeter *, std::ostream &) STUB_NOP
30//const size_t squidSystemPageSize = 4096;
31void memClean(void) STUB
32void memInitModule(void) STUB
33void memCleanModule(void) STUB
34void memConfigure(void) STUB
35
37{
38 // let's waste plenty of memory. This should cover any possible need
39 return xmalloc(64*1024);
40}
41
42void *
43memAllocBuf(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 */
53void *
54memReallocBuf(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
63void memFree(void *p, int) {xfree(p);}
64void memFreeBuf(size_t, void *buf) {xfree(buf);}
65static void cxx_xfree(void * ptr) {xfree(ptr);}
66FREE *memFreeBufFunc(size_t) {return cxx_xfree;}
68
69#include "mem/Pool.h"
70static MemPools tmpMemPools;
71MemPools &MemPools::GetInstance() {return tmpMemPools;}
73void MemPools::flushMeters() STUB
74Mem::Allocator * MemPools::create(const char *, size_t) STUB_RETVAL(nullptr);
75void MemPools::clean(time_t) STUB
76void MemPools::setDefaultPoolChunking(bool const &) STUB
77
78#include "mem/Stats.h"
79size_t Mem::GlobalStats(PoolStats &) STUB_RETVAL(0)
#define STUB
macro to stub a void function.
Definition STUB.h:34
#define STUB_NOP
Definition STUB.h:38
#define STUB_RETVAL(x)
Definition STUB.h:42
MemPools()
Definition Pool.cc:40
static MemPools & GetInstance()
Definition Pool.cc:27
void * alloc()
Allocate one element from the pool.
void freeOne(void *)
Free a element allocated by Mem::AllocatorProxy::alloc()
size_t getStats(PoolStats &stats)
static void cxx_xfree(void *ptr)
Definition fs_io.cc:36
void memCleanModule(void)
void FREE(void *)
Definition forward.h:37
void memClean(void)
Main cleanup handler.
Definition old_api.cc:328
void memFreeBuf(size_t size, void *)
Definition minimal.cc:67
void memFree(void *, int type)
Free a element allocated by memAllocate()
Definition minimal.cc:61
void * memAllocate(mem_type)
Allocate one element from the typed pool.
Definition old_api.cc:122
void * memAllocBuf(size_t net_size, size_t *gross_size)
Definition minimal.cc:46
int memInUse(mem_type)
Definition old_api.cc:344
void memInitModule(void)
void * memReallocBuf(void *buf, size_t net_size, size_t *gross_size)
Definition minimal.cc:54
mem_type
Types of memory pool which do not yet use MEMPROXY_CLASS() API.
Definition forward.h:40
void memConfigure(void)
Definition old_api.cc:254
FREE * memFreeBufFunc(size_t size)
Definition minimal.cc:79
Memory Management.
Definition Allocator.h:17
size_t GlobalStats(PoolStats &)
Definition Stats.cc:15
void PoolReport(const PoolStats *, const PoolMeter *, std::ostream &)
Definition old_api.cc:478
void Init()
Definition old_api.cc:281
void Report(std::ostream &)
Definition old_api.cc:548
void CleanIdlePools(void *unused)
Definition old_api.cc:247
void Stats(StoreEntry *)
Definition old_api.cc:77
STL namespace.
#define xfree
#define xmalloc
void * xrealloc(void *s, size_t sz)
Definition xalloc.cc:126