routing

package
v1.5.0-alpha1 Latest Latest
Warning

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

Go to latest
Published: Sep 9, 2024 License: Apache-2.0 Imports: 3 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type ErrMultipleNodesFound added in v1.1.4

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

ErrMultipleNodesFound is returned when multiple nodes were found for a requested node id prefix

func NewErrMultipleNodesFound added in v1.1.4

func NewErrMultipleNodesFound(nodeIDPrefix string, matchingNodeIDs []string) ErrMultipleNodesFound

func (ErrMultipleNodesFound) Error added in v1.1.4

func (e ErrMultipleNodesFound) Error() string

type ErrNodeNotFound added in v1.0.4

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

ErrNodeNotFound is returned when nodeInfo was not found for a requested node id

func NewErrNodeNotFound added in v1.0.4

func NewErrNodeNotFound(nodeID string) ErrNodeNotFound

func (ErrNodeNotFound) Error added in v1.0.4

func (e ErrNodeNotFound) Error() string

type NodeInfoStore

type NodeInfoStore interface {
	// Add adds a node info to the repo.
	Add(ctx context.Context, nodeInfo models.NodeState) error

	// Get returns the node info for the given node ID.
	Get(ctx context.Context, nodeID string) (models.NodeState, error)

	// GetByPrefix returns the node info for the given node ID.
	// Supports both full and short node IDs.
	GetByPrefix(ctx context.Context, prefix string) (models.NodeState, error)

	// List returns a list of nodes
	List(ctx context.Context, filters ...NodeStateFilter) ([]models.NodeState, error)

	// Delete deletes a node info from the repo.
	Delete(ctx context.Context, nodeID string) error
}

TODO rename this interface to NodeStore, it tracks more than their info

type NodeStateFilter added in v1.3.1

type NodeStateFilter func(models.NodeState) bool

NodeStateFilter is a function that filters node state when listing nodes. It returns true if the node state should be returned, and false if the node state should be ignored.

type NodeStateProvider added in v1.3.1

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

func NewNodeStateProvider added in v1.3.1

func NewNodeStateProvider(params NodeStateProviderParams) *NodeStateProvider

func (*NodeStateProvider) GetNodeState added in v1.3.1

func (n *NodeStateProvider) GetNodeState(ctx context.Context) models.NodeState

func (*NodeStateProvider) RegisterNodeInfoDecorator added in v1.3.1

func (n *NodeStateProvider) RegisterNodeInfoDecorator(decorator models.NodeInfoDecorator)

RegisterNodeInfoDecorator registers a node info decorator with the node info provider.

type NodeStateProviderParams added in v1.3.1

type NodeStateProviderParams struct {
	NodeID              string
	LabelsProvider      models.LabelsProvider
	BacalhauVersion     models.BuildVersionInfo
	DefaultNodeApproval models.NodeMembershipState
}

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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