The Pedigree Project 0.1
Classes | Public Member Functions | Static Public Member Functions | Static Public Attributes | Private Member Functions | Private Attributes | List of all members
MemoryExtendedAttributes Class Reference
+ Collaboration diagram for MemoryExtendedAttributes:

Classes

struct  Entry
 
struct  PreparedEntry
 
class  Quota
 

Public Member Functions

 MemoryExtendedAttributes (Quota &quota=globalQuota())
 
XattrStatus get (const StringView &name, void *buffer, size_t capacity, size_t &required)
 
XattrStatus list (void *buffer, size_t capacity, size_t &required)
 
XattrStatus set (const StringView &name, const void *value, size_t length, unsigned flags)
 
XattrStatus remove (const StringView &name)
 

Static Public Member Functions

static Quota & globalQuota ()
 

Static Public Attributes

static constexpr size_t MaximumEntries = 128
 
static constexpr size_t MaximumStoreBytes = 256 * 1024
 
static constexpr size_t MaximumTotalBytes = 16 * 1024 * 1024
 

Private Member Functions

 NOT_COPYABLE_OR_ASSIGNABLE (MemoryExtendedAttributes)
 
Entry ** find (const StringView &name)
 

Private Attributes

Mutex m_Lock
 
Quota & m_Quota
 
Entry * m_Entries = nullptr
 
size_t m_Count = 0
 
size_t m_Bytes = 0
 

Detailed Description

Definition at line 11 of file MemoryExtendedAttributes.h.

Constructor & Destructor Documentation

◆ MemoryExtendedAttributes()

MemoryExtendedAttributes::MemoryExtendedAttributes ( Quota &  quota = globalQuota())
explicit

Definition at line 85 of file MemoryExtendedAttributes.cc.

◆ ~MemoryExtendedAttributes()

MemoryExtendedAttributes::~MemoryExtendedAttributes ( )

Definition at line 87 of file MemoryExtendedAttributes.cc.

Member Function Documentation

◆ find()

MemoryExtendedAttributes::Entry ** MemoryExtendedAttributes::find ( const StringView &  name)
private

Definition at line 97 of file MemoryExtendedAttributes.cc.

◆ get()

XattrStatus MemoryExtendedAttributes::get ( const StringView &  name,
void *  buffer,
size_t  capacity,
size_t &  required 
)

Definition at line 104 of file MemoryExtendedAttributes.cc.

◆ globalQuota()

MemoryExtendedAttributes::Quota & MemoryExtendedAttributes::globalQuota ( )
static

Definition at line 81 of file MemoryExtendedAttributes.cc.

◆ list()

XattrStatus MemoryExtendedAttributes::list ( void *  buffer,
size_t  capacity,
size_t &  required 
)

Definition at line 128 of file MemoryExtendedAttributes.cc.

◆ remove()

XattrStatus MemoryExtendedAttributes::remove ( const StringView &  name)

Definition at line 190 of file MemoryExtendedAttributes.cc.

◆ set()

XattrStatus MemoryExtendedAttributes::set ( const StringView &  name,
const void *  value,
size_t  length,
unsigned  flags 
)

Definition at line 148 of file MemoryExtendedAttributes.cc.

Member Data Documentation

◆ m_Bytes

size_t MemoryExtendedAttributes::m_Bytes = 0
private

Definition at line 49 of file MemoryExtendedAttributes.h.

◆ m_Count

size_t MemoryExtendedAttributes::m_Count = 0
private

Definition at line 48 of file MemoryExtendedAttributes.h.

◆ m_Entries

Entry* MemoryExtendedAttributes::m_Entries = nullptr
private

Definition at line 47 of file MemoryExtendedAttributes.h.

◆ m_Lock

Mutex MemoryExtendedAttributes::m_Lock
private

Definition at line 45 of file MemoryExtendedAttributes.h.

◆ m_Quota

Quota& MemoryExtendedAttributes::m_Quota
private

Definition at line 46 of file MemoryExtendedAttributes.h.

◆ MaximumEntries

constexpr size_t MemoryExtendedAttributes::MaximumEntries = 128
staticconstexpr

Definition at line 13 of file MemoryExtendedAttributes.h.

◆ MaximumStoreBytes

constexpr size_t MemoryExtendedAttributes::MaximumStoreBytes = 256 * 1024
staticconstexpr

Definition at line 14 of file MemoryExtendedAttributes.h.

◆ MaximumTotalBytes

constexpr size_t MemoryExtendedAttributes::MaximumTotalBytes = 16 * 1024 * 1024
staticconstexpr

Definition at line 15 of file MemoryExtendedAttributes.h.


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