Versions in this module Expand all Collapse all v0 v0.12.0 Oct 10, 2024 v0.11.0 May 14, 2024 v0.10.0 Dec 21, 2023 v0.9.1 Oct 30, 2023 v0.9.0 Oct 16, 2023 v0.8.0 Jun 14, 2022 Changes in this version + func LoadConfiguration(location string) (Groups, RegistrationPolicy, error) + type AddressResolver interface + Resolve func(context.Context, addr.IA) (net.Addr, error) + type AuthoritativeServer struct + DB Store + Groups map[GroupID]*Group + LocalIA addr.IA + func (s AuthoritativeServer) Segments(ctx context.Context, req SegmentRequest) ([]*seg.Meta, error) + type BeaconWriter struct + AddressResolver AddressResolver + Extender beaconing.Extender + InternalErrors metrics.Counter + Intfs *ifstate.Interfaces + Pather beaconing.Pather + RPC Register + Registered metrics.Counter + RegistrationPolicy RegistrationPolicy + func (w *BeaconWriter) Write(ctx context.Context, segments []beacon.Beacon, peers []uint16) (beaconing.WriteStats, error) + type Discoverer interface + Discover func(ctx context.Context, dsAddr net.Addr) (Servers, error) + type ForwardServer struct + Groups map[GroupID]*Group + LocalAuth Lookuper + LocalIA addr.IA + RPC RPC + Resolver AddressResolver + Verifier Verifier + func (s ForwardServer) Segments(ctx context.Context, req SegmentRequest) ([]*seg.Meta, error) + type Group struct + ID GroupID + Owner addr.IA + Readers map[addr.IA]struct{} + Registries map[addr.IA]struct{} + Writers map[addr.IA]struct{} + func (g *Group) GetRegistries() []addr.IA + func (g *Group) Validate() error + type GroupID struct + OwnerAS addr.AS + Suffix uint16 + func GroupIDFromUint64(id uint64) GroupID + func ParseGroupID(s string) (GroupID, error) + func (id GroupID) String() string + func (id GroupID) ToUint64() uint64 + type Groups map[GroupID]*Group + func LoadHiddenPathGroups(location string) (Groups, error) + func (g Groups) MarshalYAML() (interface{}, error) + func (g Groups) Roles(ia addr.IA) Roles + func (g Groups) UnmarshalYAML(unmarshal func(interface{}) error) error + func (g Groups) Validate() error + type InterfacePolicy struct + Groups map[GroupID]*Group + Public bool + type LookupResolver struct + Discoverer Discoverer + Router snet.Router + func (r LookupResolver) Resolve(ctx context.Context, ia addr.IA) (net.Addr, error) + type Lookuper interface + Segments func(context.Context, SegmentRequest) ([]*seg.Meta, error) + type RPC interface + HiddenSegments func(context.Context, SegmentRequest, net.Addr) ([]*seg.Meta, error) + type Register interface + RegisterSegment func(context.Context, SegmentRegistration, net.Addr) error + type Registration struct + GroupID GroupID + Peer *snet.SVCAddr + Segments []*seg.Meta + type RegistrationPolicy map[uint64]InterfacePolicy + func (p RegistrationPolicy) MarshalYAML() (interface{}, error) + func (p RegistrationPolicy) UnmarshalYAML(unmarshal func(interface{}) error) error + func (p RegistrationPolicy) Validate() error + type RegistrationResolver struct + Discoverer Discoverer + Router snet.Router + func (r RegistrationResolver) Resolve(ctx context.Context, ia addr.IA) (net.Addr, error) + type Registry interface + Register func(context.Context, Registration) error + type RegistryServer struct + DB Store + Groups map[GroupID]*Group + LocalIA addr.IA + Verifier Verifier + func (h RegistryServer) Register(ctx context.Context, reg Registration) error + type Roles struct + Owner bool + Reader bool + Registry bool + Writer bool + func (r Roles) None() bool + type SegmentRegistration struct + GroupID GroupID + Seg seg.Meta + type SegmentRequest struct + DstIA addr.IA + GroupIDs []GroupID + Peer addr.IA + type Servers struct + Lookup []*net.UDPAddr + Registration []*net.UDPAddr + type Store interface + Get func(context.Context, addr.IA, []GroupID) ([]*seg.Meta, error) + Put func(context.Context, []*seg.Meta, GroupID) error + type Storer struct + DB pathdb.DB + func (s *Storer) Get(ctx context.Context, ia addr.IA, groups []GroupID) ([]*seg.Meta, error) + func (s *Storer) Put(ctx context.Context, segs []*seg.Meta, g GroupID) error + type Verifier interface + Verify func(ctx context.Context, segments []*seg.Meta, server net.Addr) error + type VerifierAdapter struct + Verifier infra.Verifier + func (v VerifierAdapter) Verify(ctx context.Context, segments []*seg.Meta, server net.Addr) error