public Builder(IIronLeveldbStorge storge, IronLeveldbOptions options, Version baseVersion) { _storge = storge; _options = options; _baseVersion = baseVersion; _internalKeyComparer = new InternalKeyComparer(options.Comparer); _levels = Enumerable.Range(0, Config.NumLevels) .Select(_ => new LevelState(_internalKeyComparer)).ToArray(); }
private Version(IIronLeveldbStorge storge, IronLeveldbOptions options) { _storge = storge; _options = options; _internalKeyComparer = new InternalKeyComparer(options.Comparer); _internalComparer = Comparer <InternalIByteArrayKeyValuePair> .Create( (a, b) => _internalKeyComparer.Compare(a.InternalKey, b.InternalKey)); _cacheId = IdGenerator.NewId(); _cache = options.TableCache; }
public LevelState(InternalKeyComparer internalKeyComparer) { AddedFiles = new SortedSet <FileMetaData>(Comparer <FileMetaData> .Create( (f1, f2) => { var r = internalKeyComparer.Compare(f1.Smallest, f2.Smallest); if (r != 0) { return(r); } // Break ties by file number return((int)(f1.Number - f2.Number)); } )); }