pathprobe

package
v0.6.0 Latest Latest
Warning

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

Go to latest
Published: Dec 4, 2020 License: Apache-2.0 Imports: 10 Imported by: 0

Documentation

Overview

Package pathprobe contains methods to probe scion paths. This is heplful to detect path status.

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func FilterEmptyPaths added in v0.5.0

func FilterEmptyPaths(paths []snet.Path) []snet.Path

FilterEmptyPaths removes all empty paths from paths and returns a copy.

func PathKey

func PathKey(path snet.Path) string

PathKey is the mapping of a path reply entry to a key that is returned in GetStatuses.

Types

type Prober

type Prober struct {
	DstIA   addr.IA
	LocalIA addr.IA
	LocalIP net.IP
}

Prober can be used to get the status of a path.

func (Prober) GetStatuses

func (p Prober) GetStatuses(ctx context.Context,
	paths []snet.Path) (map[string]Status, error)

GetStatuses probes the paths and returns the statuses of the paths. The returned map is keyed with path.Path.FwdPath. The input should only be non-empty paths.

type Status

type Status struct {
	Status         StatusName
	AdditionalInfo string
}

Status indicates the state a path is in.

func (Status) String

func (s Status) String() string

type StatusName

type StatusName string

StatusName defines the different states a path can be in.

const (
	// StatusUnknown indicates that it is not clear what state the path is in.
	StatusUnknown StatusName = "Unknown"
	// StatusTimeout indicates that a reply did come back in time for the path.
	StatusTimeout StatusName = "Timeout"
	// StatusAlive indicates that the expected reply did come back in time.
	StatusAlive StatusName = "Alive"
	// StatusSCMP indicates that an unexpected SCMP packet came in the reply.
	StatusSCMP StatusName = "SCMP"
)

Jump to

Keyboard shortcuts

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