5 internal abstract class BlockSplitter
7 public byte[] LeftBlock;
8 public byte[] RightBlock;
9 public byte[] ParentObject =
null;
10 public uint LeftSizeSubtree = 0;
11 public int LeftPos = ObjectBTreeFile.BlockHeaderSize;
12 public uint RightSizeSubtree = 0;
13 public int RightPos = ObjectBTreeFile.BlockHeaderSize;
14 public int TotPos = ObjectBTreeFile.BlockHeaderSize;
16 public BlockSplitter()
20 public uint LeftLastBlockIndex
22 get {
return BitConverter.ToUInt32(this.LeftBlock, 6); }
23 set { Array.Copy(BitConverter.GetBytes(value), 0,
this.LeftBlock, 6, 4); }
26 public uint RightLastBlockIndex
28 get {
return BitConverter.ToUInt32(this.RightBlock, 6); }
29 set { Array.Copy(BitConverter.GetBytes(value), 0,
this.RightBlock, 6, 4); }
32 public abstract void NextBlock(uint BlockLink,
byte[] Block,
int Pos,
int Len, uint ChildSize);