watcher

package module
v0.1.0 Latest Latest
Warning

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

Go to latest
Published: Apr 6, 2026 License: MIT Imports: 3 Imported by: 1

Documentation

Index

Constants

This section is empty.

Variables

View Source
var ErrUnknownType = errors.New("unknown event type")

Functions

This section is empty.

Types

type DefaultWatcher

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

func NewDefaultWatcher

func NewDefaultWatcher() *DefaultWatcher

func (*DefaultWatcher) Attach

func (dw *DefaultWatcher) Attach(et EventType, o Observer)

func (*DefaultWatcher) Detach

func (dw *DefaultWatcher) Detach(et EventType, o Observer)

func (*DefaultWatcher) Notify

func (dw *DefaultWatcher) Notify(et EventType, entity WatchMarshaller) error

func (*DefaultWatcher) OnEvent

func (dw *DefaultWatcher) OnEvent(et EventType, entity WatchMarshaller) error

type DefaultWatcherManager

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

func NewDefaultWatcherManager

func NewDefaultWatcherManager(state bool) *DefaultWatcherManager

func (*DefaultWatcherManager) AddWatcher

func (d *DefaultWatcherManager) AddWatcher(clusterId string, watcher Watcher)

func (*DefaultWatcherManager) Disable

func (d *DefaultWatcherManager) Disable()

func (*DefaultWatcherManager) Enable

func (d *DefaultWatcherManager) Enable()

func (*DefaultWatcherManager) GetCluster

func (d *DefaultWatcherManager) GetCluster(clusterId string) []Watcher

func (*DefaultWatcherManager) GetState

func (d *DefaultWatcherManager) GetState() bool

func (*DefaultWatcherManager) Notify

func (d *DefaultWatcherManager) Notify(clusterId string, et EventType, data WatchMarshaller) error

func (*DefaultWatcherManager) RemoveCluster

func (d *DefaultWatcherManager) RemoveCluster(clusterId string)

type EventType

type EventType string
const (
	EventTypeCreate         EventType = "create"
	EventTypeDelete         EventType = "remove"
	EventTypeUpdate         EventType = "update"
	EventTypeResolutionTime EventType = "resolution_time"
)

type Manager

type Manager interface {
	AddWatcher(clusterId string, watcher Watcher)
	RemoveCluster(clusterId string)
	GetCluster(clusterId string) []Watcher
	Notify(clusterId string, et EventType, data WatchMarshaller) error
	Enable()
	Disable()
	GetState() bool
}

type Observer

type Observer interface {
	Update(EventType, map[string]any) error
	GetId() string
}

type WatchMarshaller

type WatchMarshaller interface {
	GetArgs() map[string]any
}

type Watcher

type Watcher interface {
	Attach(EventType, Observer)
	Detach(EventType, Observer)
	OnEvent(EventType, WatchMarshaller) error
}

Jump to

Keyboard shortcuts

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