Block Class

Definition

Line 46 of cmsxk/Block.cm

Inheritance

Constructors & Destructor

public nothrow Block(const BlockKey& key_, BlockManager* manager_, BlockCache* cache_)

Member Functions

public void AddWaitingProcess(Process* process)
public nothrow String<char> BlockFlagStr(Flags flags)
public nothrow void Clear()
public inline nothrow bool GetFlag(Flags flag) const
public nothrow LinkedListNodeIterator<Block*, Block*&, Block**> GetIterator() const
public nothrow List<Process*> GetWaitingProcesses()
public inline nothrow BlockKey& Key() const
public inline nothrow BlockManager* Manager()
public inline nothrow Process* Owner() const
public nothrow void Read(MemoryReader& reader)
public inline nothrow void ResetFlag(Flags flag)
public inline nothrow void ResetFlags()
public inline nothrow void ResetOwner()
public inline nothrow void SetFlag(Flags flag)
public nothrow void SetIterator(LinkedListNodeIterator<Block*, Block*&, Block**> iterator_)
public nothrow void SetKey(const BlockKey& key_)
public inline nothrow void SetOwner(Process* owner_)
public nothrow String<char> ToString() const
public nothrow void Write(MemoryWriter& writer)

Enumerated Types

public enum Flags

Member Variables

private BlockCache* cache
public byte[4096] data
private Flags flags
private LinkedListNodeIterator<Block*, Block*&, Block**> iterator
private BlockKey key
private BlockManager* manager
private Process* owner
private List<Process*> waitingProcesses

Constructor& Destructor Details

Block Constructor

public nothrow Block(const BlockKey& key_, BlockManager* manager_, BlockCache* cache_)

Definition
Line 77 of cmsxk/Block.cm


Member Function Details

AddWaitingProcess Member Function

public void AddWaitingProcess(Process* process)

Definition
Line 151 of cmsxk/Block.cm


BlockFlagStr Member Function

public nothrow String<char> BlockFlagStr(Flags flags)

Definition
Line 56 of cmsxk/Block.cm


Clear Member Function

public nothrow void Clear()

Definition
Line 115 of cmsxk/Block.cm


GetFlag Member Function

public inline nothrow bool GetFlag(Flags flag)

Definition
Line 123 of cmsxk/Block.cm


GetIterator Member Function

public nothrow LinkedListNodeIterator<Block*, Block*&, Block**> GetIterator()

Definition
Line 161 of cmsxk/Block.cm


GetWaitingProcesses Member Function

public nothrow List<Process*> GetWaitingProcesses()

Definition
Line 155 of cmsxk/Block.cm


Key Member Function

public inline nothrow BlockKey& Key()

Definition
Line 143 of cmsxk/Block.cm


Manager Member Function

public inline nothrow BlockManager* Manager()

Definition
Line 169 of cmsxk/Block.cm


Owner Member Function

public inline nothrow Process* Owner()

Definition
Line 80 of cmsxk/Block.cm


Read Member Function

public nothrow void Read(MemoryReader& reader)

Definition
Line 100 of cmsxk/Block.cm


ResetFlag Member Function

public inline nothrow void ResetFlag(Flags flag)

Definition
Line 135 of cmsxk/Block.cm


ResetFlags Member Function

public inline nothrow void ResetFlags()

Definition
Line 139 of cmsxk/Block.cm


ResetOwner Member Function

public inline nothrow void ResetOwner()

Definition
Line 88 of cmsxk/Block.cm


SetFlag Member Function

public inline nothrow void SetFlag(Flags flag)

Definition
Line 127 of cmsxk/Block.cm


SetIterator Member Function

public nothrow void SetIterator(LinkedListNodeIterator<Block*, Block*&, Block**> iterator_)

Definition
Line 165 of cmsxk/Block.cm


SetKey Member Function

public nothrow void SetKey(const BlockKey& key_)

Definition
Line 147 of cmsxk/Block.cm


SetOwner Member Function

public inline nothrow void SetOwner(Process* owner_)

Definition
Line 84 of cmsxk/Block.cm


ToString Member Function

public nothrow String<char> ToString()

Definition
Line 93 of cmsxk/Block.cm


Write Member Function

public nothrow void Write(MemoryWriter& writer)

Definition
Line 107 of cmsxk/Block.cm