store

package
v1.6.12 Latest Latest
Warning

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

Go to latest
Published: Sep 30, 2020 License: Apache-2.0 Imports: 8 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var (
	// NodeStorePrefix is the kvstore prefix of the shared store
	//
	// WARNING - STABLE API: Changing the structure or values of this will
	// break backwards compatibility
	NodeStorePrefix = path.Join(kvstore.BaseKeyPrefix, "state", "nodes", "v1")

	// KeyCreator creates a node for a shared store
	KeyCreator = func() store.Key {
		n := node.Node{}
		return &n
	}
)

Functions

This section is empty.

Types

type NodeManager

type NodeManager interface {
	// NodeUpdated is called when the store detects a change in node
	// information
	NodeUpdated(n node.Node)

	// NodeDeleted is called when the store detects a deletion of a node
	NodeDeleted(n node.Node)

	// Exists is called to verify if a node exists
	Exists(id node.Identity) bool
}

NodeManager is the interface that the manager of nodes has to implement

type NodeObserver

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

NodeObserver implements the store.Observer interface and delegates update and deletion events to the node object itself.

func NewNodeObserver

func NewNodeObserver(manager NodeManager) *NodeObserver

NewNodeObserver returns a new NodeObserver associated with the specified node manager

func (*NodeObserver) OnDelete

func (o *NodeObserver) OnDelete(k store.NamedKey)

func (*NodeObserver) OnUpdate

func (o *NodeObserver) OnUpdate(k store.Key)

type NodeRegistrar

type NodeRegistrar struct {
	*store.SharedStore
}

NodeRegistrar is a wrapper around store.SharedStore.

func (*NodeRegistrar) RegisterNode

func (nr *NodeRegistrar) RegisterNode(n *node.Node, manager NodeManager) error

RegisterNode registers the local node in the cluster

func (*NodeRegistrar) UpdateLocalKeySync

func (nr *NodeRegistrar) UpdateLocalKeySync(n *node.Node) error

UpdateLocalKeySync synchronizes the local key for the node using the SharedStore.

Jump to

Keyboard shortcuts

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