TNTFSRecordIndex

From Ultibo.org
Jump to: navigation, search

Return to Unit NTFSClass


Description


To be documented

Class definitions



TNTFSRecordIndex = class(TLinkedObjBtree)

Note: Index of FILE records.
 
constructor Create;  
destructor Destroy; override;  
private
FLock:TSynchronizerHandle;  
FRecordLocal:TMutexHandle;  
 
FRunsLock:TSynchronizerHandle;  
FItemsLock:TSynchronizerHandle;  
FNodesLock:TSynchronizerHandle;  
FIndexLock:TSynchronizerHandle;  
FExtendedsLock:TSynchronizerHandle;  
FAttributesLock:TSynchronizerHandle;  
 
FRunLocal:TMutexHandle;  
FItemLocal:TMutexHandle;  
FKeyLocal:TMutexHandle;  
FNodeLocal:TMutexHandle;  
FExtendedLocal:TMutexHandle;  
FAttributeLocal:TMutexHandle;  
 
function Find(const ARecordNumber:Int64; ACurrent:TNTFSDiskRecord):TNTFSDiskRecord;  
protected
function CreateBlank:TBtreeObject; override;  
 
function Compare(AEntry1,AEntry2:TBtreeObject):Integer; override;  
public
function CreateRecord(ABase:TNTFSDiskRecord; const ARecordNumber:Int64; AVersion:Word):TNTFSDiskRecord;  
function DestroyRecord(ARecord:TNTFSDiskRecord):Boolean;  
function NewRecord(ABase:TNTFSDiskRecord; const ARecordNumber:Int64; AVersion:Word):TNTFSDiskRecord;  
function InsertRecord(ARecord:TNTFSDiskRecord):Boolean;  
function DeleteRecord(ARecord:TNTFSDiskRecord):Boolean;  
function RemoveRecord(ARecord:TNTFSDiskRecord):Boolean;  
 
function FindRecord(const ARecordNumber:Int64):TNTFSDiskRecord;  
 
function ReaderLock:Boolean;  
function ReaderUnlock:Boolean;  
function ReaderConvert:Boolean;  
function WriterLock:Boolean;  
function WriterUnlock:Boolean;  
function WriterConvert:Boolean;  
 
function RunsReaderLock:Boolean;  
function RunsReaderUnlock:Boolean;  
function RunsWriterLock:Boolean;  
function RunsWriterUnlock:Boolean;  
 
function ItemsReaderLock:Boolean;  
function ItemsReaderUnlock:Boolean;  
function ItemsWriterLock:Boolean;  
function ItemsWriterUnlock:Boolean;  
 
function NodesReaderLock:Boolean;  
function NodesReaderUnlock:Boolean;  
function NodesWriterLock:Boolean;  
function NodesWriterUnlock:Boolean;  
 
function IndexReaderLock:Boolean;  
function IndexReaderUnlock:Boolean;  
function IndexWriterLock:Boolean;  
function IndexWriterUnlock:Boolean;  
 
function ExtendedsReaderLock:Boolean;  
function ExtendedsReaderUnlock:Boolean;  
function ExtendedsWriterLock:Boolean;  
function ExtendedsWriterUnlock:Boolean;  
 
function AttributesReaderLock:Boolean;  
function AttributesReaderUnlock:Boolean;  
function AttributesWriterLock:Boolean;  
function AttributesWriterUnlock:Boolean;  


Function declarations



constructor TNTFSRecordIndex.Create;
Description: To be documented
Note None documented


destructor TNTFSRecordIndex.Destroy;
Description: To be documented
Note None documented


function TNTFSRecordIndex.Find(const ARecordNumber:Int64; ACurrent:TNTFSDiskRecord):TNTFSDiskRecord;
Description: To be documented
Note Caller must hold the records lock


function TNTFSRecordIndex.CreateBlank:TBtreeObject;
Description: To be documented
Note None documented


function TNTFSRecordIndex.Compare(AEntry1,AEntry2:TBtreeObject):Integer;
Description: To be documented
Note None documented


function TNTFSRecordIndex.CreateRecord(ABase:TNTFSDiskRecord; const ARecordNumber:Int64; AVersion:Word):TNTFSDiskRecord;
Description: Create a record, setup properties, do not insert in index
Note Caller must hold the records lock


function TNTFSRecordIndex.DestroyRecord(ARecord:TNTFSDiskRecord):Boolean;
Description: Free the record, do not remove from index
Note Caller must hold the records lock


function TNTFSRecordIndex.NewRecord(ABase:TNTFSDiskRecord; const ARecordNumber:Int64; AVersion:Word):TNTFSDiskRecord;
Description: Create a record, setup properties, do not insert in index
Note Caller must hold the records lock


function TNTFSRecordIndex.InsertRecord(ARecord:TNTFSDiskRecord):Boolean;
Description: Insert the record in the index (Blank not allowed)
Note Caller must hold the records lock


function TNTFSRecordIndex.DeleteRecord(ARecord:TNTFSDiskRecord):Boolean;
Description: Remove the record from the index, do not free (Blank not allowed)
Note Caller must hold the records lock


function TNTFSRecordIndex.RemoveRecord(ARecord:TNTFSDiskRecord):Boolean;
Description: Remove the record from the index and free (Blank not allowed)
Note Caller must hold the records lock


function TNTFSRecordIndex.FindRecord(const ARecordNumber:Int64):TNTFSDiskRecord;
Description: To be documented
Note Caller must hold the records lock


function TNTFSRecordIndex.ReaderLock:Boolean;
Description: To be documented
Note None documented


function TNTFSRecordIndex.ReaderUnlock:Boolean;
Description: To be documented
Note None documented


function TNTFSRecordIndex.ReaderConvert:Boolean; 
Description: Convert a Reader lock to a Writer lock
Note None documented


function TNTFSRecordIndex.WriterLock:Boolean;
Description: To be documented
Note None documented


function TNTFSRecordIndex.WriterUnlock:Boolean;
Description: To be documented
Note None documented


function TNTFSRecordIndex.WriterConvert:Boolean;
Description: Convert a Writer lock to a Reader lock
Note None documented


function TNTFSRecordIndex.RunsReaderLock:Boolean;
Description: To be documented
Note None documented


function TNTFSRecordIndex.RunsReaderUnlock:Boolean;
Description: To be documented
Note None documented


function TNTFSRecordIndex.RunsWriterLock:Boolean;
Description: To be documented
Note None documented


function TNTFSRecordIndex.RunsWriterUnlock:Boolean;
Description: To be documented
Note None documented


function TNTFSRecordIndex.ItemsReaderLock:Boolean;
Description: To be documented
Note None documented


function TNTFSRecordIndex.ItemsReaderUnlock:Boolean;
Description: To be documented
Note None documented


function TNTFSRecordIndex.ItemsWriterLock:Boolean;
Description: To be documented
Note None documented


function TNTFSRecordIndex.ItemsWriterUnlock:Boolean;
Description: To be documented
Note None documented


function TNTFSRecordIndex.NodesReaderLock:Boolean;
Description: To be documented
Note None documented


function TNTFSRecordIndex.NodesReaderUnlock:Boolean;
Description: To be documented
Note None documented


function TNTFSRecordIndex.NodesWriterLock:Boolean;
Description: To be documented
Note None documented


function TNTFSRecordIndex.NodesWriterUnlock:Boolean;
Description: To be documented
Note None documented


function TNTFSRecordIndex.IndexReaderLock:Boolean;
Description: To be documented
Note None documented


function TNTFSRecordIndex.IndexReaderUnlock:Boolean;
Description: To be documented
Note None documented


function TNTFSRecordIndex.IndexWriterLock:Boolean;
Description: To be documented
Note None documented


function TNTFSRecordIndex.IndexWriterUnlock:Boolean;
Description: To be documented
Note None documented


function TNTFSRecordIndex.ExtendedsReaderLock:Boolean;
Description: To be documented
Note None documented


function TNTFSRecordIndex.ExtendedsReaderUnlock:Boolean;
Description: To be documented
Note None documented


function TNTFSRecordIndex.ExtendedsWriterLock:Boolean;
Description: To be documented
Note None documented


function TNTFSRecordIndex.ExtendedsWriterUnlock:Boolean;
Description: To be documented
Note None documented


function TNTFSRecordIndex.AttributesReaderLock:Boolean;
Description: To be documented
Note None documented


function TNTFSRecordIndex.AttributesReaderUnlock:Boolean;
Description: To be documented
Note None documented


function TNTFSRecordIndex.AttributesWriterLock:Boolean;
Description: To be documented
Note None documented


function TNTFSRecordIndex.AttributesWriterUnlock:Boolean;
Description: To be documented
Note None documented


Return to Unit Reference