fetcher

package
v0.4.0 Latest Latest
Warning

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

Go to latest
Published: Nov 14, 2019 License: Apache-2.0 Imports: 25 Imported by: 0

Documentation

Overview

Package fetcher implements path segment fetching, verification and combination logic for SCIOND.

Index

Constants

View Source
const (
	DefaultMinWorkerLifetime = 10 * time.Second
)

Variables

This section is empty.

Functions

func Filter added in v0.4.0

func Filter(paths []*combinator.Path, policy Policy) []*combinator.Path

Filter filters the given paths with the given policy. Note that this function might change the order of elements.

func NewRequestSplitter added in v0.4.0

func NewRequestSplitter(localIA addr.IA, inspector infra.ASInspector) segfetcher.Splitter

NewRequestSplitter creates a request splitter for the given local IA. The AS inspector is used to check whether an IA is core or not.

Types

type Fetcher

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

func NewFetcher

func NewFetcher(messenger infra.Messenger, pathDB pathdb.PathDB, trustStore TrustStore,
	revCache revcache.RevCache, cfg config.SDConfig, topoProvider itopo.ProviderI,
	logger log.Logger) *Fetcher

func (*Fetcher) GetPaths

func (f *Fetcher) GetPaths(ctx context.Context, req *sciond.PathReq,
	earlyReplyInterval time.Duration, logger log.Logger) (*sciond.PathReply, error)

type Policy added in v0.4.0

type Policy interface {
	Filter(pathpol.PathSet) pathpol.PathSet
}

Policy is a filter on path sets.

type TrustStore added in v0.4.0

type TrustStore interface {
	infra.VerificationFactory
	infra.ASInspector
}

Directories

Path Synopsis
Package mock_fetcher is a generated GoMock package.
Package mock_fetcher is a generated GoMock package.

Jump to

Keyboard shortcuts

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