![]() |
MySQL 9.3.0
Source Code Documentation
|
Manages a pool of memory which is prevented from being swapped. More...
#include <secure_memory_pool.h>
Classes | |
class | Bucket |
A bucket of memory blocks of the given size. More... | |
class | BucketPool |
Holds buckets with the given block size. More... | |
class | ContiguousBlocks |
Allows to allocate multiple contiguous blocks of memory. More... | |
class | FixedBlock |
Allocates a single block of memory. More... | |
Public Member Functions | |
SecureMemoryPool (const SecureMemoryPool &)=delete | |
SecureMemoryPool (SecureMemoryPool &&)=delete | |
SecureMemoryPool & | operator= (const SecureMemoryPool &)=delete |
SecureMemoryPool & | operator= (SecureMemoryPool &&)=delete |
~SecureMemoryPool ()=default | |
void * | allocate (std::size_t size) |
Allocates the given number of bytes. More... | |
void | deallocate (void *ptr, std::size_t size) noexcept |
Deallocates the given number of bytes. More... | |
Static Public Member Functions | |
static SecureMemoryPool & | get () |
The single instance of this class. More... | |
Private Member Functions | |
SecureMemoryPool () | |
Private Attributes | |
std::vector< Bucket< FixedBlock > > | fixed_buckets_ |
std::vector< std::mutex > | fixed_buckets_mutexes_ |
BucketPool< Bucket< ContiguousBlocks > > | large_pool_ |
Manages a pool of memory which is prevented from being swapped.
|
delete |
|
delete |
|
default |
|
private |
void * mysql_harness::SecureMemoryPool::allocate | ( | std::size_t | size | ) |
Allocates the given number of bytes.
size | Number of bytes to allocate. |
|
noexcept |
Deallocates the given number of bytes.
ptr | Memory previously allocated by this class. |
size | Size of the memory. |
|
static |
The single instance of this class.
|
delete |
|
delete |
|
private |
|
private |
|
private |