mirror of
				https://codeberg.org/forgejo/forgejo.git
				synced 2025-11-04 00:11:04 +00:00 
			
		
		
		
	add other session providers (#5963)
This commit is contained in:
		
					parent
					
						
							
								bf4badad1d
							
						
					
				
			
			
				commit
				
					
						9de871a0f8
					
				
			
		
					 160 changed files with 37644 additions and 66 deletions
				
			
		
							
								
								
									
										107
									
								
								vendor/github.com/syndtr/goleveldb/leveldb/options.go
									
										
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										107
									
								
								vendor/github.com/syndtr/goleveldb/leveldb/options.go
									
										
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							| 
						 | 
				
			
			@ -0,0 +1,107 @@
 | 
			
		|||
// Copyright (c) 2012, Suryandaru Triandana <syndtr@gmail.com>
 | 
			
		||||
// All rights reserved.
 | 
			
		||||
//
 | 
			
		||||
// Use of this source code is governed by a BSD-style license that can be
 | 
			
		||||
// found in the LICENSE file.
 | 
			
		||||
 | 
			
		||||
package leveldb
 | 
			
		||||
 | 
			
		||||
import (
 | 
			
		||||
	"github.com/syndtr/goleveldb/leveldb/filter"
 | 
			
		||||
	"github.com/syndtr/goleveldb/leveldb/opt"
 | 
			
		||||
)
 | 
			
		||||
 | 
			
		||||
func dupOptions(o *opt.Options) *opt.Options {
 | 
			
		||||
	newo := &opt.Options{}
 | 
			
		||||
	if o != nil {
 | 
			
		||||
		*newo = *o
 | 
			
		||||
	}
 | 
			
		||||
	if newo.Strict == 0 {
 | 
			
		||||
		newo.Strict = opt.DefaultStrict
 | 
			
		||||
	}
 | 
			
		||||
	return newo
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (s *session) setOptions(o *opt.Options) {
 | 
			
		||||
	no := dupOptions(o)
 | 
			
		||||
	// Alternative filters.
 | 
			
		||||
	if filters := o.GetAltFilters(); len(filters) > 0 {
 | 
			
		||||
		no.AltFilters = make([]filter.Filter, len(filters))
 | 
			
		||||
		for i, filter := range filters {
 | 
			
		||||
			no.AltFilters[i] = &iFilter{filter}
 | 
			
		||||
		}
 | 
			
		||||
	}
 | 
			
		||||
	// Comparer.
 | 
			
		||||
	s.icmp = &iComparer{o.GetComparer()}
 | 
			
		||||
	no.Comparer = s.icmp
 | 
			
		||||
	// Filter.
 | 
			
		||||
	if filter := o.GetFilter(); filter != nil {
 | 
			
		||||
		no.Filter = &iFilter{filter}
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	s.o = &cachedOptions{Options: no}
 | 
			
		||||
	s.o.cache()
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
const optCachedLevel = 7
 | 
			
		||||
 | 
			
		||||
type cachedOptions struct {
 | 
			
		||||
	*opt.Options
 | 
			
		||||
 | 
			
		||||
	compactionExpandLimit []int
 | 
			
		||||
	compactionGPOverlaps  []int
 | 
			
		||||
	compactionSourceLimit []int
 | 
			
		||||
	compactionTableSize   []int
 | 
			
		||||
	compactionTotalSize   []int64
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (co *cachedOptions) cache() {
 | 
			
		||||
	co.compactionExpandLimit = make([]int, optCachedLevel)
 | 
			
		||||
	co.compactionGPOverlaps = make([]int, optCachedLevel)
 | 
			
		||||
	co.compactionSourceLimit = make([]int, optCachedLevel)
 | 
			
		||||
	co.compactionTableSize = make([]int, optCachedLevel)
 | 
			
		||||
	co.compactionTotalSize = make([]int64, optCachedLevel)
 | 
			
		||||
 | 
			
		||||
	for level := 0; level < optCachedLevel; level++ {
 | 
			
		||||
		co.compactionExpandLimit[level] = co.Options.GetCompactionExpandLimit(level)
 | 
			
		||||
		co.compactionGPOverlaps[level] = co.Options.GetCompactionGPOverlaps(level)
 | 
			
		||||
		co.compactionSourceLimit[level] = co.Options.GetCompactionSourceLimit(level)
 | 
			
		||||
		co.compactionTableSize[level] = co.Options.GetCompactionTableSize(level)
 | 
			
		||||
		co.compactionTotalSize[level] = co.Options.GetCompactionTotalSize(level)
 | 
			
		||||
	}
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (co *cachedOptions) GetCompactionExpandLimit(level int) int {
 | 
			
		||||
	if level < optCachedLevel {
 | 
			
		||||
		return co.compactionExpandLimit[level]
 | 
			
		||||
	}
 | 
			
		||||
	return co.Options.GetCompactionExpandLimit(level)
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (co *cachedOptions) GetCompactionGPOverlaps(level int) int {
 | 
			
		||||
	if level < optCachedLevel {
 | 
			
		||||
		return co.compactionGPOverlaps[level]
 | 
			
		||||
	}
 | 
			
		||||
	return co.Options.GetCompactionGPOverlaps(level)
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (co *cachedOptions) GetCompactionSourceLimit(level int) int {
 | 
			
		||||
	if level < optCachedLevel {
 | 
			
		||||
		return co.compactionSourceLimit[level]
 | 
			
		||||
	}
 | 
			
		||||
	return co.Options.GetCompactionSourceLimit(level)
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (co *cachedOptions) GetCompactionTableSize(level int) int {
 | 
			
		||||
	if level < optCachedLevel {
 | 
			
		||||
		return co.compactionTableSize[level]
 | 
			
		||||
	}
 | 
			
		||||
	return co.Options.GetCompactionTableSize(level)
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (co *cachedOptions) GetCompactionTotalSize(level int) int64 {
 | 
			
		||||
	if level < optCachedLevel {
 | 
			
		||||
		return co.compactionTotalSize[level]
 | 
			
		||||
	}
 | 
			
		||||
	return co.Options.GetCompactionTotalSize(level)
 | 
			
		||||
}
 | 
			
		||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue