network

package
v0.0.0-...-319b6e6 Latest Latest
Warning

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

Go to latest
Published: Mar 20, 2024 License: MIT Imports: 11 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func ClassifyJitter

func ClassifyJitter(avgJitterMs float64) string

func ClassifySignalStrength

func ClassifySignalStrength(signalStrength int) string

Types

type Ping

type Ping interface {
	PingGatewayForStats(gatewayIpAddr string, pingCount int, pingInterval time.Duration, pingTimeout time.Duration) (PingData, error)
	ClassifyJitter(avgJitterMs float64) string
}

type PingData

type PingData struct {
	PacketLossPercentage float64
	Jitter               float64 // Ms
	JitterClassification string
	MinRtt               float64 // Ms
	AvgRtt               float64 // Ms
	MaxRtt               float64 // Ms
	StdDevRtt            float64 // Ms
}

func PingGatewayForStats

func PingGatewayForStats(gatewayIpAddr string, pingCount int, pingInterval time.Duration, pingTimeout time.Duration) (PingData, error)

type Signal

type Signal interface {
	GetGatewaySignalStrength() (SignalData, error)
	ClassifySignalStrength(signalStrength string) string
}

type SignalData

type SignalData struct {
	SignalStrength               float64 // dBm
	SignalStrengthClassification string
}

func GetGatewaySignalStrength

func GetGatewaySignalStrength() (SignalData, error)

measures the gateway' signal strength in dBm

type SpeedTest

type SpeedTest interface {
	CollectSpeedMetrics() (SpeedTestData, error)
}

type SpeedTestData

type SpeedTestData struct {
	DownloadSpeed float64 // Mbps
	UploadSpeed   float64 // Mbps
}

func CollectSpeedMetrics

func CollectSpeedMetrics() (SpeedTestData, error)

capture and report upload and download speed

Jump to

Keyboard shortcuts

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