BlockCache Class

Definition

Line 81 of cmsxk/RootBlockManager.cm

Constructors & Destructor

public nothrow BlockCache(BlockManager* manager_, int maxCachedBlocks)

Member Functions

public nothrow void AddDirtyBlock(Block* dirtyBlock)
public void AddWaitingProcess(Process* process)
public void Flush()
public nothrow LinkedList<Block*>* GetFreeBlockList() const
public nothrow List<Process*> GetWaitingProcesses()
public void PutBlockToFreeList(Block* block, bool tail)
public void RemoveBlockFromFreeList(Block* block)

Member Variables

private List<UniquePtr<Block>> blocks
private Set<Block*, Less<Block*>> dirtyBlocks
private LinkedList<Block*> freeBlockList
private BlockManager* manager
private List<Process*> waitingProcesses

Constructor& Destructor Details

BlockCache Constructor

public nothrow BlockCache(BlockManager* manager_, int maxCachedBlocks)

Definition
Line 83 of cmsxk/RootBlockManager.cm


Member Function Details

AddDirtyBlock Member Function

public nothrow void AddDirtyBlock(Block* dirtyBlock)

Definition
Line 129 of cmsxk/RootBlockManager.cm


AddWaitingProcess Member Function

public void AddWaitingProcess(Process* process)

Definition
Line 119 of cmsxk/RootBlockManager.cm


Flush Member Function

public void Flush()

Definition
Line 133 of cmsxk/RootBlockManager.cm


GetFreeBlockList Member Function

public nothrow LinkedList<Block*>* GetFreeBlockList()

Definition
Line 115 of cmsxk/RootBlockManager.cm


GetWaitingProcesses Member Function

public nothrow List<Process*> GetWaitingProcesses()

Definition
Line 123 of cmsxk/RootBlockManager.cm


PutBlockToFreeList Member Function

public void PutBlockToFreeList(Block* block, bool tail)

Definition
Line 102 of cmsxk/RootBlockManager.cm


RemoveBlockFromFreeList Member Function

public void RemoveBlockFromFreeList(Block* block)

Definition
Line 93 of cmsxk/RootBlockManager.cm