public BTree(IBuffer data) { this.data = data; byte[] headerInfo = StreamUtilities.ReadExact(this.data, 0, 114); this.header = new BTreeHeaderRecord(); this.header.ReadFrom(headerInfo, 14); byte[] node0data = StreamUtilities.ReadExact(this.data, 0, this.header.NodeSize); BTreeHeaderNode node0 = BTreeNode.ReadNode(this, node0data, 0) as BTreeHeaderNode; node0.ReadFrom(node0data, 0); if (node0.HeaderRecord.RootNode != 0) { this.rootNode = this.GetKeyedNode(node0.HeaderRecord.RootNode); } }
public BTree(IBuffer data) { _data = data; byte[] headerInfo = Utilities.ReadFully(_data, 0, 114); _header = new BTreeHeaderRecord(); _header.ReadFrom(headerInfo, 14); byte[] node0data = Utilities.ReadFully(_data, 0, _header.NodeSize); BTreeHeaderNode node0 = BTreeNode.ReadNode(this, node0data, 0) as BTreeHeaderNode; node0.ReadFrom(node0data, 0); if (node0.HeaderRecord.RootNode != 0) { _rootNode = GetKeyedNode(node0.HeaderRecord.RootNode); } }