virtmem
virtual memory library for Arduino
|
Virtual memory allocator that uses a regular file (via stdio) as memory pool. More...
#include <stdio_alloc.h>
Public Member Functions | |
StdioVAllocP (VPtrSize ps=VIRTMEM_DEFAULT_POOLSIZE) | |
Constructs (but not initializes) the allocator. More... | |
Public Member Functions inherited from virtmem::VAlloc< Properties, StdioVAllocP< Properties > > | |
VPtr< T, StdioVAllocP< Properties > > | alloc (VPtrSize size=sizeof(T)) |
Allocates memory from the linked virtual memory allocator. More... | |
void | free (VPtr< T, StdioVAllocP< Properties > > &p) |
Frees a block of virtual memory. More... | |
VPtr< T, StdioVAllocP< Properties > > | newClass (VPtrSize size=sizeof(T)) |
Allocates memory and constructs data type. More... | |
void | deleteClass (VPtr< T, StdioVAllocP< Properties > > &p) |
Destructs data type and frees memory. More... | |
VPtr< T, StdioVAllocP< Properties > > | newArray (VPtrSize elements) |
Allocates and constructs an array of objects. More... | |
void | deleteArray (VPtr< T, StdioVAllocP< Properties > > &p) |
Destructs and frees an array of objects. More... | |
Public Member Functions inherited from virtmem::BaseVAlloc | |
void | start (void) |
Starts the allocator. More... | |
void | stop (void) |
Deinitializes the allocator. More... | |
void | setPoolSize (VPtrSize ps) |
Sets the total size of the memory pool. More... | |
VPtrNum | allocRaw (VPtrSize size) |
Allocates a piece of raw (virtual) memory. More... | |
void | freeRaw (VPtrNum ptr) |
Frees a memory block for re-usage. More... | |
void * | read (VPtrNum p, VPtrSize size) |
Reads a raw block of (virtual) memory. More... | |
void | write (VPtrNum p, const void *d, VPtrSize size) |
Writes a piece of raw data to (virtual) memory. More... | |
void | flush (void) |
Synchronizes all big memory pages. More... | |
void | clearPages (void) |
Synchronizes and clears all big memory pages. More... | |
uint8_t | getFreeBigPages (void) const |
uint8_t | getUnlockedSmallPages (void) const |
Returns amount of small pages which are not locked. | |
uint8_t | getUnlockedMediumPages (void) const |
Returns amount of medium pages which are not locked. | |
uint8_t | getUnlockedBigPages (void) const |
Returns amount of big pages which are not locked. | |
uint8_t | getSmallPageCount (void) const |
Returns total amount of small pages. | |
uint8_t | getMediumPageCount (void) const |
Returns total amount of medium pages. | |
uint8_t | getBigPageCount (void) const |
Returns total amount of big pages. | |
VirtPageSize | getSmallPageSize (void) const |
Returns the size of a small page. | |
VirtPageSize | getMediumPageSize (void) const |
Returns the size of a medium page. | |
VirtPageSize | getBigPageSize (void) const |
Returns the size of a big page. | |
VPtrSize | getPoolSize (void) const |
Returns the size the memory pool. More... | |
VPtrSize | getMemUsed (void) const |
Returns total memory used. | |
VPtrSize | getMaxMemUsed (void) const |
Returns the maximum memory used so far. | |
uint32_t | getBigPageReads (void) const |
Returns the times big pages were read (swapped). | |
uint32_t | getBigPageWrites (void) const |
Returns the times big pages written (synchronized). | |
uint32_t | getBytesRead (void) const |
Returns the amount of bytes read as a result of page swaps. | |
uint32_t | getBytesWritten (void) const |
Returns the amount of bytes written as a results of page swaps. | |
void | resetStats (void) |
Reset all statistics. Called by start() | |
Additional Inherited Members | |
Public Types inherited from virtmem::VAlloc< Properties, StdioVAllocP< Properties > > | |
using | VPtr = virtmem::VPtr< T, StdioVAllocP< Properties > > |
Static Public Member Functions inherited from virtmem::VAlloc< Properties, StdioVAllocP< Properties > > | |
static VAlloc * | getInstance (void) |
Returns a pointer to the instance of the class. More... | |
Protected Member Functions inherited from virtmem::BaseVAlloc | |
void | writeZeros (VPtrNum start, VPtrSize n) |
Writes zeros to raw virtual memory. Can be used to initialize the memory pool. More... | |
Virtual memory allocator that uses a regular file (via stdio) as memory pool.
This class is meant for debugging and can only be used on systems supporting stdio (e.g. PCs).
Properties | Allocator properties, see DefaultAllocProperties |
|
inline |
Constructs (but not initializes) the allocator.
ps | Total amount of bytes of the memory pool. |