Beispiel #1
0
 public SubNodesEnumerator(
     IDataBlockReader dataBlockReader,
     IBTreeNodeLoader <SubnodeBlock, BID> subnodeBlockLoader,
     IExtractor <SubnodeBlock, SIEntry[]> entriesFromIntermediateSubnodeBlockExtractor,
     IExtractor <SubnodeBlock, SLEntry[]> entriesFromLeafSubnodeBlockExtractor)
 {
     this.dataBlockReader    = dataBlockReader;
     this.subnodeBlockLoader = subnodeBlockLoader;
     this.entriesFromIntermediateSubnodeBlockExtractor = entriesFromIntermediateSubnodeBlockExtractor;
     this.entriesFromLeafSubnodeBlockExtractor         = entriesFromLeafSubnodeBlockExtractor;
 }
Beispiel #2
0
 public ExternalDataBlockIdsReader(
     IDataReader dataReader,
     IHeaderReader headerReader,
     IExtractor <InternalDataBlock, BID[]> blockIdsFromInternalDataBlockExtractor,
     IBTreeNodeLoader <InternalDataBlock, LBBTEntry> internalDataBlockLoader,
     IBTreeEntryFinder <BID, LBBTEntry, BREF> blockBTreeEntryFinder)
 {
     this.dataReader   = dataReader;
     this.headerReader = headerReader;
     this.blockIdsFromInternalDataBlockExtractor = blockIdsFromInternalDataBlockExtractor;
     this.internalDataBlockLoader = internalDataBlockLoader;
     this.blockBTreeEntryFinder   = blockBTreeEntryFinder;
 }
Beispiel #3
0
 public BTreeEntryFinder(
     IExtractor <TLeafEntry, TEntryKey> entryKeyFromLeafEntryExtractor,
     IExtractor <TIntermediateEntry, TEntryKey> entryKeyFromIntermediateEntryExtractor,
     IExtractor <TIntermediateEntry, TNodeReference> nodeReferenceFromIntermediateEntryExtractor,
     IExtractor <TNode, TIntermediateEntry[]> intermediateEntriesFromNodeExtractor,
     IExtractor <TNode, TLeafEntry[]> leafEntriesFromNodeExtractor,
     IExtractor <TNode, int> nodeLevelFromNodeExtractor,
     IBTreeNodeLoader <TNode, TNodeReference> nodeLoader)
 {
     this.entryKeyFromLeafEntryExtractor              = entryKeyFromLeafEntryExtractor;
     this.entryKeyFromIntermediateEntryExtractor      = entryKeyFromIntermediateEntryExtractor;
     this.nodeReferenceFromIntermediateEntryExtractor = nodeReferenceFromIntermediateEntryExtractor;
     this.intermediateEntriesFromNodeExtractor        = intermediateEntriesFromNodeExtractor;
     this.leafEntriesFromNodeExtractor = leafEntriesFromNodeExtractor;
     this.nodeLevelFromNodeExtractor   = nodeLevelFromNodeExtractor;
     this.nodeLoader = nodeLoader;
 }