public OutOfCoreHashmap(string loadFromFilename) { _filename = loadFromFilename; _keys = Serializer.ReadJsonData <AVLHashMap <TKey, long?> >(_filename); if (!System.IO.File.Exists(GetCompressedFile())) { Logger.LogInformation("Updating OutOfCoreHashmap values..."); foreach (var key in _keys) { long keyIndex = key.Value.Value; TValue data = (TValue)Serializer.ReadJsonData($"{GetFileNameOld(keyIndex)}", typeof(TValue)); SetValueToFile(keyIndex, data); } System.IO.File.WriteAllText(GetCompressedFile(), "compressed: gzip"); foreach (var key in _keys) { long keyIndex = key.Value.Value; TValue data = (TValue)Serializer.ReadJsonData($"{GetFileNameOld(keyIndex)}", typeof(TValue)); System.IO.File.Move(GetFileNameOld(keyIndex), GetFileNameOld(keyIndex) + ".trash"); } } nextIndex = _keys.Count > 0 ? _keys.Max(k => k.Value.Value) + 1 : 0; }
public OutOfCoreHashmap() { _filename = Hash.GetHash(); _keys = new AVLHashMap <TKey, long?>(); }
public OutOfCoreHashmap(int size, string filename) { _filename = filename; _keys = new AVLHashMap <TKey, long?>(size); }