indexer

package
v0.3.0 Latest Latest
Warning

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

Go to latest
Published: Mar 16, 2026 License: AGPL-3.0 Imports: 4 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Dispatcher

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

func NewDispatcher

func NewDispatcher(indexers []ResourceIndexer) *Dispatcher

func (*Dispatcher) Enqueue

func (d *Dispatcher) Enqueue(event Event)

func (*Dispatcher) Flush

func (d *Dispatcher) Flush()

Flush blocks until all previously-enqueued events have been processed. Useful for deterministic testing without time.Sleep.

func (*Dispatcher) Start

func (d *Dispatcher) Start()

func (*Dispatcher) Stop

func (d *Dispatcher) Stop()

type Event

type Event struct {
	Type  EventType
	Entry registry.ResourceEntry
	Old   *registry.ResourceEntry
	Raw   json.RawMessage
	// contains filtered or unexported fields
}

type EventType

type EventType int
const (
	EventAdd EventType = iota
	EventUpdate
	EventDelete
)

type ResourceIndexer

type ResourceIndexer interface {
	Name() string
	OnAdd(entry registry.ResourceEntry, raw json.RawMessage)
	OnUpdate(old registry.ResourceEntry, new_ registry.ResourceEntry, raw json.RawMessage)
	OnDelete(entry registry.ResourceEntry)
}

ResourceIndexer processes resource events to build derived indexes.

Jump to

Keyboard shortcuts

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