示例#1
0
        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);
            }
        }