28 lines
632 B
Go
28 lines
632 B
Go
package tdb
|
|
|
|
import (
|
|
"github.com/golang/protobuf/proto"
|
|
bolt "go.etcd.io/bbolt"
|
|
)
|
|
|
|
var (
|
|
ContinueIteration IterationSignal = true
|
|
StopIteration IterationSignal = false
|
|
)
|
|
|
|
type IterationSignal bool
|
|
|
|
type Iterable interface {
|
|
Iterate(Iterator, ...*Tx) error
|
|
IterateKeys(KeyIterator, ...*Tx) error
|
|
}
|
|
|
|
type rawIterable interface {
|
|
iterateRaw(rawIterator, ...*Tx) error
|
|
}
|
|
|
|
type rawIterator func(dbPtrValue) (IterationSignal, error)
|
|
type Iterator func(proto.Message) (IterationSignal, error)
|
|
type KeyIterator func([]byte) (IterationSignal, error)
|
|
type keyIteratorWithBucket func([]byte, *bolt.Bucket) (IterationSignal, error)
|