state

package
v0.8.4 Latest Latest
Warning

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

Go to latest
Published: Sep 28, 2023 License: Apache-2.0 Imports: 5 Imported by: 0

Documentation

Overview

Package state provides an interface for querying mesh state.

Index

Constants

This section is empty.

Variables

View Source
var (
	// MeshStatePrefix is the prefix for mesh state keys.
	MeshStatePrefix = []byte("/registry/meshstate")
	// IPv6PrefixKey is the key for the IPv6 prefix.
	IPv6PrefixKey = append(MeshStatePrefix, []byte("/ipv6prefix")...)
	// IPv4PrefixKey is the key for the IPv4 prefix.
	IPv4PrefixKey = append(MeshStatePrefix, []byte("/ipv4prefix")...)
	// MeshDomainKey is the key for the mesh domain.
	MeshDomainKey = append(MeshStatePrefix, []byte("/meshdomain")...)
)
View Source
var ErrNodeNotFound = sql.ErrNoRows

ErrNodeNotFound is returned when a node is not found.

Functions

This section is empty.

Types

type State

type State interface {
	// GetIPv6Prefix returns the IPv6 prefix.
	GetIPv6Prefix(ctx context.Context) (netip.Prefix, error)
	// GetIPv4Prefix returns the IPv4 prefix.
	GetIPv4Prefix(ctx context.Context) (netip.Prefix, error)
	// GetMeshDomain returns the mesh domain.
	GetMeshDomain(ctx context.Context) (string, error)
	// ListPublicRPCAddresses returns all public gRPC addresses in the mesh.
	// The map key is the node ID.
	ListPublicRPCAddresses(ctx context.Context) (map[string]netip.AddrPort, error)
	// ListPeerPublicRPCAddresses returns all public gRPC addresses in the mesh excluding a node.
	// The map key is the node ID.
	ListPeerPublicRPCAddresses(ctx context.Context, nodeID string) (map[string]netip.AddrPort, error)
	// ListPeerPrivateRPCAddresses returns all private gRPC addresses in the mesh excluding a node.
	// The map key is the node ID.
	ListPeerPrivateRPCAddresses(ctx context.Context, nodeID string) (map[string]netip.AddrPort, error)
}

State is the interface for querying mesh state.

func New

func New(db storage.MeshStorage) State

New returns a new State.

Jump to

Keyboard shortcuts

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