speedtest

package
v0.0.0-...-b01a18b Latest Latest
Warning

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

Go to latest
Published: Nov 3, 2021 License: MIT Imports: 11 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type ByDistance

type ByDistance struct {
	Servers
}

ByDistance for sorting servers.

func (ByDistance) Less

func (b ByDistance) Less(i, j int) bool

Less compares the distance. For sorting servers.

type Server

type Server struct {
	URL      string        `xml:"url,attr" json:"url"`
	Lat      string        `xml:"lat,attr" json:"lat"`
	Lon      string        `xml:"lon,attr" json:"lon"`
	Name     string        `xml:"name,attr" json:"name"`
	Country  string        `xml:"country,attr" json:"country"`
	Sponsor  string        `xml:"sponsor,attr" json:"sponsor"`
	ID       string        `xml:"id,attr" json:"id"`
	URL2     string        `xml:"url2,attr" json:"url_2"`
	Host     string        `xml:"host,attr" json:"host"`
	Distance float64       `json:"distance"`
	Latency  time.Duration `json:"latency"`
	DLSpeed  float64       `json:"dl_speed"`
	ULSpeed  float64       `json:"ul_speed"`
}

Server information

func NewServer

func NewServer(server string) Server

Return server

func (Server) CheckResultValid

func (s Server) CheckResultValid() bool

CheckResultValid checks that results are logical given UL and DL speeds

func (*Server) DownloadTest

func (s *Server) DownloadTest(client *resty.Client) error

DownloadTest executes the test to measure download speed

func (*Server) PingTest

func (s *Server) PingTest(client *resty.Client) error

PingTest executes test to measure latency

func (*Server) String

func (s *Server) String() string

String representation of Server

func (*Server) UploadTest

func (s *Server) UploadTest(client *resty.Client) error

UploadTest executes the test to measure upload speed

type ServerList

type ServerList struct {
	Servers []*Server `xml:"servers>server"`
}

ServerList list of Server

func FetchServerList

func FetchServerList(client *resty.Client, user *User) (ServerList, error)

FetchServerList retrieves a list of available servers

func FetchServerListContext

func FetchServerListContext(ctx context.Context, client *resty.Client, user *User) (ServerList, error)

FetchServerListContext retrieves a list of available servers, observing the given context.

func (*ServerList) FindServer

func (l *ServerList) FindServer(serverID []int) (Servers, error)

FindServer finds server by serverID

func (*ServerList) String

func (l *ServerList) String() string

String representation of ServerList

type Servers

type Servers []*Server

Servers for sorting servers.

func (Servers) Len

func (svrs Servers) Len() int

Len finds length of servers. For sorting servers.

func (Servers) Swap

func (svrs Servers) Swap(i, j int)

Swap swaps i-th and j-th. For sorting servers.

type User

type User struct {
	// <client ip="211.72.129.103" lat="25.0504" lon="121.5324" isp="Chunghwa Telecom" country="TW"/>
	IP      string `xml:"ip,attr"`
	Lat     string `xml:"lat,attr"`
	Lon     string `xml:"lon,attr"`
	Isp     string `xml:"isp,attr"`
	Country string `xml:"country,attr"`
}

User represents information determined about the caller by speedtest.net

func FetchUserInfo

func FetchUserInfo(client *resty.Client) (*User, error)

FetchUserInfo returns information about caller determined by speedtest.net

func FetchUserInfoContext

func FetchUserInfoContext(ctx context.Context, client *resty.Client) (*User, error)

FetchUserInfoContext returns information about caller determined by speedtest.net, observing the given context.

func (*User) String

func (u *User) String() string

String representation of User

type Users

type Users struct {
	Users []User `xml:"client"`
}

Users for decode xml

Jump to

Keyboard shortcuts

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