core

package
v0.0.1 Latest Latest
Warning

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

Go to latest
Published: Jan 1, 2026 License: MIT Imports: 8 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var (
	ErrNoRoute          = fmt.Errorf("未找到路由")
	ErrNoNextHop        = fmt.Errorf("未找到下一跳")
	ErrPathLoop         = fmt.Errorf("路径环路")
	ErrMaxDepthExceeded = fmt.Errorf("超过最大路径深度")
	ErrMaxPathsExceeded = fmt.Errorf("超过最大路径数")
)

Functions

This section is empty.

Types

type NodeLocator

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

NodeLocator 节点定位器

func NewNodeLocator

func NewNodeLocator(topology graph.Topology) *NodeLocator

NewNodeLocator 创建节点定位器

func (*NodeLocator) LocateOutsideNode

func (nl *NodeLocator) LocateOutsideNode(
	vrf string,
	ipType network.IPFamily) []model.Node

LocateOutsideNode 定位Outside节点

func (*NodeLocator) LocateSourceNode

func (nl *NodeLocator) LocateSourceNode(
	src network.NetworkList,
	options *graph.LocateOptions) (model.Node, model.Port, error)

LocateSourceNode 定位源节点

func (*NodeLocator) LocateStubNode

func (nl *NodeLocator) LocateStubNode(
	netList *network.NetworkList,
	vrf string,
	ipType network.IPFamily) (bool, model.Node, model.Port)

LocateStubNode 定位Stub节点

type PathCalculator

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

PathCalculator 路径计算器

func NewPathCalculator

func NewPathCalculator(topology graph.Topology, options *query.PathQueryOptions) *PathCalculator

NewPathCalculator 创建路径计算器

func (*PathCalculator) CalculatePath

func (pc *PathCalculator) CalculatePath(ctx context.Context) ([]*model.PathResult, error)

CalculatePath 计算路径

func (*PathCalculator) WithLogger

func (pc *PathCalculator) WithLogger(logger *zap.Logger) *PathCalculator

WithLogger 设置日志器

type RouteQuery

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

RouteQuery 路由查询器

func NewRouteQuery

func NewRouteQuery(routeTable *model.RouteTable) *RouteQuery

NewRouteQuery 创建路由查询器

func (*RouteQuery) QueryAllRoutes

func (rq *RouteQuery) QueryAllRoutes(
	dst network.NetworkList,
	inPort, vrf string,
	ipFamily network.IPFamily) ([]*model.RouteResult, error)

QueryAllRoutes 查询所有路由(多路径)

func (*RouteQuery) QueryRoute

func (rq *RouteQuery) QueryRoute(
	dst network.NetworkList,
	inPort, vrf string,
	ipFamily network.IPFamily) (*model.RouteResult, error)

QueryRoute 查询路由(支持多路径)

Jump to

Keyboard shortcuts

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