index

package
v0.6.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Apr 22, 2024 License: MIT Imports: 10 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var ErrCorrupted = errors.New("index corrupted")
View Source
var ErrIndexEmpty = fmt.Errorf("%w: no items", message.ErrInvalidOffset)

Functions

func AppendKeys

func AppendKeys(keys art.Tree, items []Item)

func Consume

func Consume(items []Item, offset int64) (int64, int64, error)

func Get

func Get(items []Item, offset int64) (int64, error)

func KeyHash added in v0.2.1

func KeyHash(key []byte) uint64

func KeyHashEncoded added in v0.2.1

func KeyHashEncoded(h uint64) []byte

func Keys

func Keys(keys art.Tree, keyHash []byte) ([]int64, error)

func Time

func Time(items []Item, ts int64) (int64, error)

func Write

func Write(path string, opts Params, index []Item) error

Types

type Item

type Item struct {
	Offset    int64
	Position  int64
	Timestamp int64
	KeyHash   uint64
}

func Read

func Read(path string, opts Params) ([]Item, error)

type Params

type Params struct {
	Times bool
	Keys  bool
}

func (Params) NewItem

func (o Params) NewItem(m message.Message, position int64, prevts int64) Item

func (Params) Size

func (o Params) Size() int64

type Writer

type Writer struct {
	// contains filtered or unexported fields
}

func OpenWriter

func OpenWriter(path string, opts Params) (*Writer, error)

func (*Writer) Close

func (w *Writer) Close() error

func (*Writer) Size

func (w *Writer) Size() int64

func (*Writer) Sync

func (w *Writer) Sync() error

func (*Writer) SyncAndClose

func (w *Writer) SyncAndClose() error

func (*Writer) Write

func (w *Writer) Write(it Item) error

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL