kevo/pkg/common/iterator/composite/composite.go
Jeremy Tregunna 6fc3be617d
Some checks failed
Go Tests / Run Tests (1.24.2) (push) Has been cancelled
feat: Initial release of kevo storage engine.
Adds a complete LSM-based storage engine with these features:
- Single-writer based architecture for the storage engine
- WAL for durability, and hey it's configurable
- MemTable with skip list implementation for fast read/writes
- SSTable with block-based structure for on-disk level-based storage
- Background compaction with tiered strategy
- ACID transactions
- Good documentation (I hope)
2025-04-20 14:06:50 -06:00

19 lines
470 B
Go

package composite
import (
"github.com/jer/kevo/pkg/common/iterator"
)
// CompositeIterator is an interface for iterators that combine multiple source iterators
// into a single logical view.
type CompositeIterator interface {
// Embeds the basic Iterator interface
iterator.Iterator
// NumSources returns the number of source iterators
NumSources() int
// GetSourceIterators returns the underlying source iterators
GetSourceIterators() []iterator.Iterator
}