Example #1
0
        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;
        }
Example #2
0
 public OutOfCoreHashmap()
 {
     _filename = Hash.GetHash();
     _keys     = new AVLHashMap <TKey, long?>();
 }
Example #3
0
 public OutOfCoreHashmap(int size, string filename)
 {
     _filename = filename;
     _keys     = new AVLHashMap <TKey, long?>(size);
 }