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 ¶
ExperimentName implements ExperimentMeasurer.ExperimentName.
func (*Measurer) ExperimentVersion ¶
ExperimentVersion implements ExperimentMeasurer.ExperimentVersion.
func (*Measurer) GetSummaryKeys ¶
func (m *Measurer) GetSummaryKeys(measurement *model.Measurement) (interface{}, error)
GetSummaryKeys implements model.ExperimentMeasurer.GetSummaryKeys.
func (*Measurer) Run ¶
func (m *Measurer) Run( ctx context.Context, sess model.ExperimentSession, measurement *model.Measurement, callbacks model.ExperimentCallbacks, ) 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 *model.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 *model.ArchivalMaybeBinaryData `json:"response_data"` Failure *string `json:"failure"` T float64 `json:"t"` SupportedVersions []uint32 `json:"supported_versions"` }
type SummaryKeys ¶
type SummaryKeys struct {
IsAnomaly bool `json:"-"`
}
SummaryKeys contains summary keys for this experiment.
Note that this structure is part of the ABI contract with ooniprobe therefore we should be careful when changing it.
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.