Exemple #1
0
            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();
            }
Exemple #2
0
        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;
        }
Exemple #3
0
                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));
                    }
                                                                  ));
                }