libpalliate v0.0.1
Palliate core library
memory::manager Class Referenceabstract

#include <manager.h>

Inheritance diagram for memory::manager:

Public Member Functions

 manager (std::span< unsigned char > _base)
 
virtual ~manager ()=default
 
unsigned char * alloc (size_t bytes)
 
unsigned free (unsigned char *address)
 
virtual void print ()=0
 
offset_t to_offset (unsigned char *ptr)
 

Protected Member Functions

unsigned char * to_ptr (offset_t offset)
 
unsigned size_to_pages (unsigned size)
 
virtual offset_t _alloc (unsigned pages)=0
 
virtual unsigned _free (offset_t address)=0
 

Protected Attributes

unsigned char * base
 
size_t size
 
atomic_cr< 8 > * queue
 

Static Protected Attributes

static constexpr size_t PAGE_SIZE = 64
 

Constructor & Destructor Documentation

◆ manager()

manager::manager ( std::span< unsigned char >  _base)
explicit

◆ ~manager()

virtual memory::manager::~manager ( )
virtualdefault

Member Function Documentation

◆ _alloc()

virtual offset_t memory::manager::_alloc ( unsigned  pages)
protectedpure virtual

Implemented in memory::server, and memory::client.

◆ _free()

virtual unsigned memory::manager::_free ( offset_t  address)
protectedpure virtual

Implemented in memory::server, and memory::client.

◆ alloc()

unsigned char * manager::alloc ( size_t  bytes)

◆ free()

unsigned manager::free ( unsigned char *  address)

◆ print()

virtual void memory::manager::print ( )
pure virtual

Implemented in memory::client, and memory::server.

◆ size_to_pages()

unsigned manager::size_to_pages ( unsigned  size)
protected

◆ to_offset()

offset_t manager::to_offset ( unsigned char *  ptr)

◆ to_ptr()

unsigned char * manager::to_ptr ( offset_t  offset)
protected

Member Data Documentation

◆ base

unsigned char* memory::manager::base
protected

◆ PAGE_SIZE

constexpr size_t memory::manager::PAGE_SIZE = 64
staticconstexprprotected

◆ queue

atomic_cr<8>* memory::manager::queue
protected

◆ size

size_t memory::manager::size
protected

The documentation for this class was generated from the following files: