Help us shape the future of Go! Take the 2026 Go Developer Survey

store

package
v0.19.0 Latest Latest
Warning

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

Go to latest
Published: Sep 3, 2019 License: Apache-2.0 Imports: 6 Imported by: 10

Documentation

Index

Constants

This section is empty.

Variables

View Source
var (
	// ErrNotFound is returned if a Store cannot find the Alert.
	ErrNotFound = errors.New("alert not found")
)

Functions

This section is empty.

Types

type Alerts

type Alerts struct {
	sync.Mutex
	// contains filtered or unexported fields
}

Alerts provides lock-coordinated to an in-memory map of alerts, keyed by their fingerprint. Resolved alerts are removed from the map based on gcInterval. An optional callback can be set which receives a slice of all resolved alerts that have been removed.

func NewAlerts

func NewAlerts(gcInterval time.Duration) *Alerts

NewAlerts returns a new Alerts struct.

func (*Alerts) Delete

func (a *Alerts) Delete(fp model.Fingerprint) error

Delete removes the Alert with the matching fingerprint from the store.

func (*Alerts) Empty added in v0.17.0

func (a *Alerts) Empty() bool

Empty returns true if the store is empty.

func (*Alerts) Get

func (a *Alerts) Get(fp model.Fingerprint) (*types.Alert, error)

Get returns the Alert with the matching fingerprint, or an error if it is not found.

func (*Alerts) List

func (a *Alerts) List() []*types.Alert

List returns a slice of Alerts currently held in memory.

func (*Alerts) Run

func (a *Alerts) Run(ctx context.Context)

Run starts the GC loop.

func (*Alerts) Set

func (a *Alerts) Set(alert *types.Alert) error

Set unconditionally sets the alert in memory.

func (*Alerts) SetGCCallback

func (a *Alerts) SetGCCallback(cb func([]*types.Alert))

SetGCCallback sets a GC callback to be executed after each GC.

Jump to

Keyboard shortcuts

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