quicping

package
v0.28.0 Latest Latest
Warning

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

Go to latest
Published: Mar 26, 2024 License: GPL-3.0 Imports: 20 Imported by: 0

Documentation

Overview

Package quicping implements the quicping network experiment. This implements, in particular, v0.1.0 of the spec.

See https://github.com/ooni/spec/blob/master/nettests/ts-031-quicping.md.

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func NewExperimentMeasurer

func NewExperimentMeasurer(config Config) model.ExperimentMeasurer

NewExperimentMeasurer creates a new ExperimentMeasurer.

Types

type Config

type Config struct {
	// Repetitions is the number of repetitions for each ping.
	Repetitions int64 `ooni:"number of times to repeat the measurement"`

	// Port is the port to test.
	Port int64 `ooni:"port is the port to test"`
	// contains filtered or unexported fields
}

Config contains the experiment configuration.

type Measurer

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

Measurer performs the measurement.

func (*Measurer) ExperimentName

func (m *Measurer) ExperimentName() string

ExperimentName implements ExperimentMeasurer.ExperimentName.

func (*Measurer) ExperimentVersion

func (m *Measurer) ExperimentVersion() string

ExperimentVersion implements ExperimentMeasurer.ExperimentVersion.

func (*Measurer) Run

func (m *Measurer) Run(ctx context.Context, args *model.ExperimentArgs) error

Run implements ExperimentMeasurer.Run.

type SinglePing

type SinglePing struct {
	ConnIdDst string                               `json:"conn_id_dst"`
	ConnIdSrc string                               `json:"conn_id_src"`
	Failure   *string                              `json:"failure"`
	Request   *legacymodel.ArchivalMaybeBinaryData `json:"request"`
	T         float64                              `json:"t"`
	Responses []*SinglePingResponse                `json:"responses"`
}

SinglePing is a result of a single ping operation.

type SinglePingResponse

type SinglePingResponse struct {
	Data              *legacymodel.ArchivalMaybeBinaryData `json:"response_data"`
	Failure           *string                              `json:"failure"`
	T                 float64                              `json:"t"`
	SupportedVersions []uint32                             `json:"supported_versions"`
}

type TestKeys

type TestKeys struct {
	Domain              string                `json:"domain"`
	Pings               []*SinglePing         `json:"pings"`
	UnexpectedResponses []*SinglePingResponse `json:"unexpected_responses"`
	Repetitions         int64                 `json:"repetitions"`
}

TestKeys contains the experiment results.

Jump to

Keyboard shortcuts

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