Documentation
¶
Index ¶
- type IndexKind
- type Indexer
- type LevelDBIndexer
- func (m *LevelDBIndexer[K, V]) Close() error
- func (m *LevelDBIndexer[K, V]) Delete(key K) error
- func (m *LevelDBIndexer[K, V]) DeleteSync(key K) error
- func (m *LevelDBIndexer[K, V]) Destroy() error
- func (m *LevelDBIndexer[K, V]) Get(key K) (V, error)
- func (m *LevelDBIndexer[K, V]) Iterate(f func(key K, value V) error) error
- func (m *LevelDBIndexer[K, V]) Put(key K, value V) error
- func (m *LevelDBIndexer[K, V]) PutSync(key K, value V) error
- func (m *LevelDBIndexer[K, V]) Stream(filter func(value V) bool) <-chan V
- func (m *LevelDBIndexer[K, V]) Sync() error
- type MemoryIndexer
- func (m *MemoryIndexer[K, V]) Close() error
- func (m *MemoryIndexer[K, V]) Delete(key K) error
- func (m *MemoryIndexer[K, V]) DeleteSync(key K) error
- func (m *MemoryIndexer[K, V]) Destroy() error
- func (m *MemoryIndexer[K, V]) Get(key K) (V, error)
- func (m *MemoryIndexer[K, V]) Iterate(fn func(key K, value V) error) error
- func (m *MemoryIndexer[K, V]) Put(key K, value V) error
- func (m *MemoryIndexer[K, V]) PutSync(key K, value V) error
- func (m *MemoryIndexer[K, V]) Stream(filter func(value V) bool) <-chan V
- func (m *MemoryIndexer[K, V]) Sync() error
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Indexer ¶
type Indexer[K comparable, V any] interface { io.Closer Put(key K, value V) error Get(key K) (V, error) Delete(key K) error Iterate(func(key K, value V) error) error Stream(filter func(value V) bool) <-chan V // Destroy removes the underlying idx file Destroy() error // Sync forces buffered writes to disk Sync() error // PutSync writes with immediate fsync (slower but durable) // Use for critical operations like RefCount updates PutSync(key K, value V) error // DeleteSync deletes with immediate fsync (slower but durable) DeleteSync(key K) error }
func NewLevelDBIndexer ¶
func NewMemoryIndexer ¶
func NewMemoryIndexer[K comparable, V any]() (Indexer[K, V], error)
NewMemoryIndexer creates a new in-memory indexer
type LevelDBIndexer ¶
type LevelDBIndexer[K comparable, V any] struct { // contains filtered or unexported fields }
func (*LevelDBIndexer[K, V]) Close ¶
func (m *LevelDBIndexer[K, V]) Close() error
func (*LevelDBIndexer[K, V]) Delete ¶
func (m *LevelDBIndexer[K, V]) Delete(key K) error
func (*LevelDBIndexer[K, V]) DeleteSync ¶
func (m *LevelDBIndexer[K, V]) DeleteSync(key K) error
DeleteSync deletes a key with fsync for durability.
func (*LevelDBIndexer[K, V]) Destroy ¶
func (m *LevelDBIndexer[K, V]) Destroy() error
func (*LevelDBIndexer[K, V]) Get ¶
func (m *LevelDBIndexer[K, V]) Get(key K) (V, error)
func (*LevelDBIndexer[K, V]) Iterate ¶
func (m *LevelDBIndexer[K, V]) Iterate(f func(key K, value V) error) error
func (*LevelDBIndexer[K, V]) Put ¶
func (m *LevelDBIndexer[K, V]) Put(key K, value V) error
func (*LevelDBIndexer[K, V]) PutSync ¶
func (m *LevelDBIndexer[K, V]) PutSync(key K, value V) error
PutSync writes a key-value pair with fsync for durability. Use this for critical operations like RefCount updates.
func (*LevelDBIndexer[K, V]) Stream ¶
func (m *LevelDBIndexer[K, V]) Stream(filter func(value V) bool) <-chan V
func (*LevelDBIndexer[K, V]) Sync ¶
func (m *LevelDBIndexer[K, V]) Sync() error
Sync forces all buffered writes to disk. This is useful for periodic checkpoints to limit data loss window.
type MemoryIndexer ¶
type MemoryIndexer[K comparable, V any] struct { // contains filtered or unexported fields }
MemoryIndexer is an in-memory implementation of Indexer for testing
func (*MemoryIndexer[K, V]) Close ¶
func (m *MemoryIndexer[K, V]) Close() error
func (*MemoryIndexer[K, V]) Delete ¶
func (m *MemoryIndexer[K, V]) Delete(key K) error
func (*MemoryIndexer[K, V]) DeleteSync ¶
func (m *MemoryIndexer[K, V]) DeleteSync(key K) error
DeleteSync is identical to Delete for in-memory indexer (no disk to sync)
func (*MemoryIndexer[K, V]) Destroy ¶
func (m *MemoryIndexer[K, V]) Destroy() error
func (*MemoryIndexer[K, V]) Get ¶
func (m *MemoryIndexer[K, V]) Get(key K) (V, error)
func (*MemoryIndexer[K, V]) Iterate ¶
func (m *MemoryIndexer[K, V]) Iterate(fn func(key K, value V) error) error
func (*MemoryIndexer[K, V]) Put ¶
func (m *MemoryIndexer[K, V]) Put(key K, value V) error
func (*MemoryIndexer[K, V]) PutSync ¶
func (m *MemoryIndexer[K, V]) PutSync(key K, value V) error
PutSync is identical to Put for in-memory indexer (no disk to sync)
func (*MemoryIndexer[K, V]) Stream ¶
func (m *MemoryIndexer[K, V]) Stream(filter func(value V) bool) <-chan V
func (*MemoryIndexer[K, V]) Sync ¶
func (m *MemoryIndexer[K, V]) Sync() error
Click to show internal directories.
Click to hide internal directories.