private ulong Save(BrightstarProfiler profiler) { using (profiler.Step("Store.Save")) { _resourceTable.Commit(_currentTxnId + 1, profiler); var txnId = _currentTxnId + 1; var graphIndexId = _graphIndex.Save(txnId, profiler); var prefixManagerId = _prefixManager.Save(txnId, profiler); var resourceIndexId = _resourceIndex.Save(txnId, profiler); var subjectRelatedResourceIndexId = _subjectRelatedResourceIndex.Save(txnId, profiler); var objectRelatedResourceIndexId = _objectRelatedResourceIndex.Save(txnId, profiler); var buff = CreateStoreHeader(graphIndexId, prefixManagerId, resourceIndexId, subjectRelatedResourceIndexId, objectRelatedResourceIndexId); var page = _pageStore.Create(txnId); page.SetData(buff); page.SetData(buff, 0, 128); _pageStore.Commit(txnId, profiler); return(page.Id); } }