rambrain
rambrain Namespace Reference

Namespaces

 rambrainglobals
 

Classes

class  adhereTo
 Main class to fetch memory that is managed by rambrain for actual usage. More...
 
struct  aiotracker
 datastructure for handling asynchronous events More...
 
struct  backlog_entry
 
union  backlog_value
 
class  configLine
 Class for config key value pairs represented by a line in a config file. More...
 
class  configLineBase
 Base class for config lines. More...
 
class  configReader
 Reader class to read in and properly parse config files. More...
 
struct  configuration
 Main struct to save configuration variables. More...
 
struct  cyclicAtime
 structure created by scheduler to track access times of memoryChunks More...
 
class  cyclicManagedMemory
 scheduler working with a double linked cycle. Details see paper. More...
 
class  dummyManagedMemory
 a dummy managed Memory that basically does nothing and throws on everything. More...
 
union  glob_off_union
 saves some storage in pageFileLocation More...
 
class  incompleteSetupException
 Exception class for cases of an incomplete setup. More...
 
class  managedDummySwap
 A dummy swap that just copies swapped out chunks to a different location in ram. More...
 
class  managedDummySwapContainer
 A dummy class to get rid of initialization problems. More...
 
class  managedFileSwap
 An implementation of managedSwap that is capable of kernel asynchronousIO. More...
 
class  managedMemory
 Backend class to handle raw memory and interaction/storage with managedSwap. More...
 
class  managedMemoryChunk
 manages all managed Chunks of raw memory More...
 
class  managedPtr
 Main class to allocate memory that is managed by the rambrain memory defaultManager. More...
 
class  managedPtr< T, 1 >
 Main class to allocate memory that is managed by the rambrain memory defaultManager in a multidimensional way given by the second template parameter. More...
 
class  managedSwap
 Class that serves as a backend to managedMemory to actual write/read managedMemoryChunks to/from hard disk or other non random access memory. More...
 
class  memoryException
 Exception for errors with the memory. More...
 
class  pageFileLocation
 tracks page file allocations while objects are preferably written continuous to page file, we may encounter the situation that the pagefiles are nearly full. In this case we take fragments of free space and use these to break up the consecutive memory of a chunk into parts, tracked by pageChunks. More...
 
class  rambrainException
 Exception base class for this library. More...
 
class  rambrainGlobalCriticalSectionControl
 this class marks a section as globally critical. Only one thread can process any section where such an object is generated. More...
 
class  regexMatcher
 Class to handle regex matching used for parsing configuration files. More...
 
struct  swapFileDesc
 structure to handle swap files More...
 
class  Timer
 Provides an interface to a timer which periodically sends SIGUSR1 signals. More...
 
class  unexpectedStateException
 An exception for when something totally unexpected happened. More...
 
class  unfinishedCodeException
 An exception class for when code is used which is not fully finished developping. More...
 

Typedefs

typedef double myScalar
 
typedef uint64_t global_bytesize
 
typedef uint64_t global_offset
 
typedef uint64_t memoryID
 
typedef uint64_t memoryAtime
 

Enumerations

enum  swapPolicy { swapPolicy::fixed, swapPolicy::autoextendable, swapPolicy::interactive }
 An enumeration to regulate how the swap should define when it approaches it's set boundary. More...
 
enum  backlog_action {
  UNKNOWN, REGISTER, DELETE, SWAPOUT,
  SWAPIN, DECAY, TOUCH, CHECK
}
 
enum  pageChunkStatus {
  PAGE_FREE = 1, PAGE_PART = 2, PAGE_END = 4, PAGE_WASREAD = 8,
  PAGE_UNKNOWN_STATE = 16
}
 the status for pageFileLocations More...
 
enum  memoryStatus {
  MEM_ROOT = 0, MEM_ALLOCATED_INUSE_READ = 4 + 1, MEM_ALLOCATED_INUSE_WRITE = 4 + 2 + 1, MEM_ALLOCATED_INUSE = 1,
  MEM_ALLOCATED = 4, MEM_SWAPPED = 8, MEM_SWAPIN = 16, MEM_SWAPOUT = 32
}
 

Functions

managedSwapconfigTestGetSwap (managedMemory *man)
 

Variables

const global_bytesize kib = 1024
 
const global_bytesize mib = kib * kib
 
const global_bytesize gig = mib * kib
 
global_bytesize min_elements = 0
 

Typedef Documentation

typedef uint64_t rambrain::global_bytesize

Definition at line 65 of file common.h.

typedef uint64_t rambrain::global_offset

Definition at line 52 of file managedFileSwap.h.

typedef uint64_t rambrain::memoryAtime

Definition at line 39 of file managedMemoryChunk.h.

typedef uint64_t rambrain::memoryID

Definition at line 38 of file managedMemoryChunk.h.

typedef double rambrain::myScalar

Definition at line 29 of file common.h.

Enumeration Type Documentation

Enumerator
UNKNOWN 
REGISTER 
DELETE 
SWAPOUT 
SWAPIN 
DECAY 
TOUCH 
CHECK 

Definition at line 35 of file cyclicManagedMemory.h.

Enumerator
MEM_ROOT 
MEM_ALLOCATED_INUSE_READ 
MEM_ALLOCATED_INUSE_WRITE 
MEM_ALLOCATED_INUSE 
MEM_ALLOCATED 
MEM_SWAPPED 
MEM_SWAPIN 
MEM_SWAPOUT 

Definition at line 28 of file managedMemoryChunk.h.

the status for pageFileLocations

Enumerator
PAGE_FREE 
PAGE_PART 
PAGE_END 
PAGE_WASREAD 
PAGE_UNKNOWN_STATE 

Definition at line 45 of file managedFileSwap.h.

enum rambrain::swapPolicy
strong

An enumeration to regulate how the swap should define when it approaches it's set boundary.

Can either keep the boundary fixed, extend it automatically as it needs or start an interactive shell to ask the user for advice

Warning
Currently not used
Enumerator
fixed 
autoextendable 
interactive 

Definition at line 47 of file configreader.h.

Function Documentation

managedSwap* rambrain::configTestGetSwap ( managedMemory man)

Definition at line 31 of file configTest.cpp.

Variable Documentation

const global_bytesize rambrain::gig = mib * kib

Definition at line 69 of file common.h.

const global_bytesize rambrain::kib = 1024

Definition at line 67 of file common.h.

const global_bytesize rambrain::mib = kib * kib

Definition at line 68 of file common.h.

global_bytesize rambrain::min_elements = 0

Definition at line 38 of file cyclicManagedMemory.cpp.