Mem Namespace Reference

Memory Management.


class  AllocatorProxy
class  Meter


void Init ()
void Report ()
void Stats (StoreEntry *)
void CleanIdlePools (void *unused)
void Report (std::ostream &)
void PoolReport (const MemPoolStats *mp_st, const MemPoolMeter *AllMeter, std::ostream &)
void ZeroSensitiveMemory (void *dst, const size_t len)

Function Documentation

◆ CleanIdlePools()

void Mem::CleanIdlePools ( void *  unused)

◆ Init()

void Mem::Init ( void  )

Then initialize all pools.

Starting with generic 2kB - 64kB buffr pools, then specific object types.
It does not hurt much to have a lot of pools since sizeof(MemPool) is small; someday we will figure out what to do with all the entries here that are never used or used only once; perhaps we should simply use malloc() for those? @?@

Definition at line 425 of file

References GetPool(), MEM_16K_BUF, MEM_2K_BUF, MEM_32K_BUF, MEM_4K_BUF, MEM_64K_BUF, MEM_8K_BUF, MEM_DREAD_CTRL, MEM_DWRITE_Q, MEM_MD5_DIGEST, memDataInit(), Mgr::RegisterAction(), MemAllocator::setChunkSize(), SQUID_MD5_DIGEST_LENGTH, and Stats().

Referenced by testRock::commonInit(), commonInit(), testUfs::commonInit(), fake_auth_setup(), testHttp1Parser::globalSetup(), main(), testCacheManager::setUp(), testDiskIO::setUp(), testEvent::setUp(), testHttpReply::setUp(), testHttpRequest::setUp(), testPackableStream::setUp(), testString::setUp(), testUriScheme::setUp(), testURL::setUp(), SquidMain(), and testSBuf::testSBufConstructDestructAfterMemInit().

◆ PoolReport()

◆ Report() [1/2]

void Mem::Report ( )

◆ Report() [2/2]

◆ Stats()

void Mem::Stats ( StoreEntry sentry)

◆ ZeroSensitiveMemory()

void Mem::ZeroSensitiveMemory ( void *  dst,
const size_t  len 

zeros the given memory area while disallowing the compiler to skip (i.e. optimize away) this cleanup, unlike a regular call to std::memset() or alike

Definition at line 19 of file Sensitive.h.

References assert.

Referenced by nmasldap_get_password(), and nmasldap_get_simple_pwd().






Web Site Translations