BTDB.ChunkCache.DiskChunkCache.StoreHashIndex C# (CSharp) Method

StoreHashIndex() private method

private StoreHashIndex ( ) : void
return void
        void StoreHashIndex()
        {
            RemoveAllHashIndexAndUnknownFiles();
            var file = _fileCollection.AddFile("chi");
            var writer = file.GetAppenderWriter();
            var keyCount = _cache.Count;
            var fileInfo = new FileHashIndex(AllocNewFileGeneration(), _keySize, keyCount);
            _fileInfos.TryAdd(file.Index, fileInfo);
            fileInfo.WriteHeader(writer);
            var keyBuf = ByteBuffer.NewSync(new byte[_keySize]);
            foreach (var cachePair in _cache)
            {
                cachePair.Key.FillBuffer(keyBuf);
                writer.WriteVUInt32(cachePair.Value.FileOfs);
                writer.WriteVUInt32(cachePair.Value.FileId);
                writer.WriteVUInt32(cachePair.Value.AccessRate);
                writer.WriteVUInt32(cachePair.Value.ContentLength);
                writer.WriteBlock(keyBuf);
            }
            writer.WriteVUInt32(0); // Zero FileOfs as End of file mark
            file.HardFlush();
        }