private static void InsertBlockIdRef(ITransaction t, BlockId blockId, long[] uid) { IDataFile bidUidListDf = t.GetFile(BlockidUidMapKey, FileAccess.ReadWrite); BlockIdUidList blockidUidList = new BlockIdUidList(bidUidListDf); blockidUidList.AddBlockIdRef(blockId, uid); }
private BlockId GetLastBlockId(ITransaction t) { IDataFile bidUidListDf = t.GetFile(BlockidUidMapKey, FileAccess.Read); BlockIdUidList blockidUidList = new BlockIdUidList(bidUidListDf); long pos = blockidUidList.Count - 1; if (pos < 0) { return null; } return blockidUidList.GetBlockIdAt(pos); }
// ------ Storage ------ private static long[] GetUidForBlock(ITransaction t, BlockId blockId) { IDataFile bidUidListDf = t.GetFile(BlockidUidMapKey, FileAccess.ReadWrite); BlockIdUidList blockidUidList = new BlockIdUidList(bidUidListDf); long pos = blockidUidList.PositionOfBlockId(blockId); if (pos < 0) return null; return blockidUidList.GetUidAt(pos); }