The Pedigree Project 0.1
Classes | Public Member Functions | Static Public Member Functions | Private Member Functions | Private Attributes | List of all members
QuotaTable Class Reference

#include <QuotaTable.h>

+ Collaboration diagram for QuotaTable:

Classes

struct  Entry
 

Public Member Functions

Entry * find (uint32_t id)
 
const Entry * find (uint32_t id) const
 
Entry * prepare (uint32_t id)
 
QuotaStatus set (uint32_t id, const QuotaRecord &requested)
 
void clear ()
 
void swap (QuotaTable &other)
 
Vector< Entry > & entries ()
 
const Vector< Entry > & entries () const
 

Static Public Member Functions

static QuotaStatus canCharge (const Entry &, uint64_t bytes, uint64_t inodes, bool enforce)
 
static void charge (Entry &, uint64_t bytes, uint64_t inodes)
 
static void refund (Entry &, uint64_t bytes, uint64_t inodes)
 
static bool sameRecord (const QuotaRecord &, const QuotaRecord &)
 

Private Member Functions

size_t position (uint32_t id) const
 

Private Attributes

Vector< Entry > m_Entries
 

Detailed Description

Storage and arithmetic only; the owning filesystem serializes transactions.

Definition at line 10 of file QuotaTable.h.

Member Function Documentation

◆ canCharge()

QuotaStatus QuotaTable::canCharge ( const Entry &  entry,
uint64_t  bytes,
uint64_t  inodes,
bool  enforce 
)
static

Definition at line 62 of file QuotaTable.cc.

◆ charge()

void QuotaTable::charge ( Entry &  entry,
uint64_t  bytes,
uint64_t  inodes 
)
static

Definition at line 77 of file QuotaTable.cc.

◆ clear()

void QuotaTable::clear ( )

Definition at line 97 of file QuotaTable.cc.

◆ entries() [1/2]

Vector< Entry > & QuotaTable::entries ( )
inline

Definition at line 28 of file QuotaTable.h.

◆ entries() [2/2]

const Vector< Entry > & QuotaTable::entries ( ) const
inline

Definition at line 31 of file QuotaTable.h.

◆ find() [1/2]

QuotaTable::Entry * QuotaTable::find ( uint32_t  id)

Definition at line 19 of file QuotaTable.cc.

◆ find() [2/2]

const QuotaTable::Entry * QuotaTable::find ( uint32_t  id) const

Definition at line 24 of file QuotaTable.cc.

◆ position()

size_t QuotaTable::position ( uint32_t  id) const
private

Definition at line 7 of file QuotaTable.cc.

◆ prepare()

QuotaTable::Entry * QuotaTable::prepare ( uint32_t  id)

Definition at line 29 of file QuotaTable.cc.

◆ refund()

void QuotaTable::refund ( Entry &  entry,
uint64_t  bytes,
uint64_t  inodes 
)
static

Definition at line 83 of file QuotaTable.cc.

◆ sameRecord()

bool QuotaTable::sameRecord ( const QuotaRecord &  a,
const QuotaRecord &  b 
)
static

Definition at line 90 of file QuotaTable.cc.

◆ set()

QuotaStatus QuotaTable::set ( uint32_t  id,
const QuotaRecord &  requested 
)

Definition at line 42 of file QuotaTable.cc.

◆ swap()

void QuotaTable::swap ( QuotaTable &  other)

Definition at line 100 of file QuotaTable.cc.

Member Data Documentation

◆ m_Entries

Vector<Entry> QuotaTable::m_Entries
private

Definition at line 37 of file QuotaTable.h.


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