Versions in this module Expand all Collapse all v1 v1.3.0 Nov 30, 2022 Changes in this version + const AvailableSeconds + var ErrCurrentRegionNotSet = errors.New("current region cannot be blank") + var ErrCurrentRegionUnknownLatLon = errors.New("unknown lat and lon for the current region") + var ErrNoAvailableNodes = errors.New("could not find any available nodes") + var ErrSortByNotSet = errors.New("sort by option cannot be blank") + var ErrSortByUnknown = errors.New("unknown sort by option") + var ErrUnsupportedSelector = errors.New("unsupported node selector") + func GetAvailableNodes(nodes []*livekit.Node) []*livekit.Node + func GetNodeSysload(node *livekit.Node) float32 + func IsAvailable(node *livekit.Node) bool + func LimitsReached(limitConfig config.LimitConfig, nodeStats *livekit.NodeStats) bool + func SelectSortedNode(nodes []*livekit.Node, sortBy string) (*livekit.Node, error) + type AnySelector struct + SortBy string + func (s *AnySelector) SelectNode(nodes []*livekit.Node) (*livekit.Node, error) + type CPULoadSelector struct + CPULoadLimit float32 + SortBy string + func (s *CPULoadSelector) SelectNode(nodes []*livekit.Node) (*livekit.Node, error) + type NodeSelector interface + SelectNode func(nodes []*livekit.Node) (*livekit.Node, error) + func CreateNodeSelector(conf *config.Config) (NodeSelector, error) + type RegionAwareSelector struct + CurrentRegion string + SortBy string + func NewRegionAwareSelector(currentRegion string, regions []config.RegionConfig, sortBy string) (*RegionAwareSelector, error) + func (s *RegionAwareSelector) SelectNode(nodes []*livekit.Node) (*livekit.Node, error) + type SystemLoadSelector struct + SortBy string + SysloadLimit float32 + func (s *SystemLoadSelector) SelectNode(nodes []*livekit.Node) (*livekit.Node, error)