RootBlockManager Class

Definition

Line 150 of cmsxk/RootBlockManager.cm

Inheritance

Constructors & Destructor

public nothrow RootBlockManager()

Member Functions

private void AddWaitingProcess(Process* process)
public override void Flush()
public override void FreeBlocks(INode* inode)
public override Block* GetBlock(const BlockKey& key, SuperBlock* sb, bool sleep, bool setOwner)
public override void GetBlockNumber(INode* inode, long offset, int& blockNumber, int& blockOffset, bool allocate)
public override int GetBlockNumber(INode* inode, int logicalBlockNumber) const
private LinkedList<Block*>* GetFreeBlockList()
private List<Process*> GetWaitingProcesses()
public override nothrow String<char> Name() const
public override nothrow void PutBlock(Block* block)
private void PutBlockToFreeList(Block* block, bool tail)
public override nothrow Block* ReadBlock(const BlockKey& key, SuperBlock* sb)
private void RemoveBlockFromFreeList(Block* block)
public override void WriteBlock(Block* block, SuperBlock* superBlock)

Member Variables

private HashMap<BlockKey, Block*, BlockKeyHash, EqualTo<BlockKey>> blockMap
private BlockCache cache

Constructor& Destructor Details

RootBlockManager Constructor

public nothrow RootBlockManager()

Definition
Line 152 of cmsxk/RootBlockManager.cm


Member Function Details

AddWaitingProcess Member Function

private void AddWaitingProcess(Process* process)

Definition
Line 902 of cmsxk/RootBlockManager.cm


Flush Member Function

public override void Flush()

Definition
Line 878 of cmsxk/RootBlockManager.cm


FreeBlocks Member Function

public override void FreeBlocks(INode* inode)

Definition
Line 340 of cmsxk/RootBlockManager.cm


GetBlock Member Function

public override Block* GetBlock(const BlockKey& key, SuperBlock* sb, bool sleep, bool setOwner)

Definition
Line 159 of cmsxk/RootBlockManager.cm


GetBlockNumber Member Function

public override void GetBlockNumber(INode* inode, long offset, int& blockNumber, int& blockOffset, bool allocate)

Definition
Line 597 of cmsxk/RootBlockManager.cm


GetBlockNumber Member Function

public override int GetBlockNumber(INode* inode, int logicalBlockNumber)

Definition
Line 473 of cmsxk/RootBlockManager.cm


GetFreeBlockList Member Function

private LinkedList<Block*>* GetFreeBlockList()

Definition
Line 898 of cmsxk/RootBlockManager.cm


GetWaitingProcesses Member Function

private List<Process*> GetWaitingProcesses()

Definition
Line 906 of cmsxk/RootBlockManager.cm


Name Member Function

public override nothrow String<char> Name()

Definition
Line 155 of cmsxk/RootBlockManager.cm


PutBlock Member Function

public override nothrow void PutBlock(Block* block)

Definition
Line 264 of cmsxk/RootBlockManager.cm


PutBlockToFreeList Member Function

private void PutBlockToFreeList(Block* block, bool tail)

Definition
Line 894 of cmsxk/RootBlockManager.cm


ReadBlock Member Function

public override nothrow Block* ReadBlock(const BlockKey& key, SuperBlock* sb)

Definition
Line 297 of cmsxk/RootBlockManager.cm


RemoveBlockFromFreeList Member Function

private void RemoveBlockFromFreeList(Block* block)

Definition
Line 890 of cmsxk/RootBlockManager.cm


WriteBlock Member Function

public override void WriteBlock(Block* block, SuperBlock* superBlock)

Definition
Line 320 of cmsxk/RootBlockManager.cm