You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
28 lines
478 B
28 lines
478 B
package needle
|
|
|
|
import (
|
|
"strconv"
|
|
|
|
"github.com/google/btree"
|
|
)
|
|
|
|
const (
|
|
batch = 100000
|
|
)
|
|
|
|
type NeedleValue struct {
|
|
Key Key
|
|
Offset uint32 `comment:"Volume offset"` //since aligned to 8 bytes, range is 4G*8=32G
|
|
Size uint32 `comment:"Size of the data portion"`
|
|
}
|
|
|
|
func (this NeedleValue) Less(than btree.Item) bool {
|
|
that := than.(NeedleValue)
|
|
return this.Key < that.Key
|
|
}
|
|
|
|
type Key uint64
|
|
|
|
func (k Key) String() string {
|
|
return strconv.FormatUint(uint64(k), 10)
|
|
}
|