model

package
v0.1.0 Latest Latest
Warning

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

Go to latest
Published: Sep 9, 2019 License: BSD-3-Clause Imports: 0 Imported by: 0

Documentation

Overview

Package model contains the data model

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type ClientResults

type ClientResults struct {
	ConnectTime     float64 `json:"connect_time"`
	DeltaSysTime    int64   `json:"delta_sys_time"`
	DeltaUserTime   int64   `json:"delta_user_time"`
	Elapsed         float64 `json:"elapsed"`
	ElapsedTarget   int64   `json:"elapsed_target"`
	InternalAddress string  `json:"internal_address"`
	Iteration       int64   `json:"iteration"`
	Platform        string  `json:"platform"`
	Rate            int64   `json:"rate"`
	RealAddress     string  `json:"real_address"`
	Received        int64   `json:"received"`
	RemoteAddress   string  `json:"remote_address"`
	RequestTicks    float64 `json:"request_ticks"`
	ServerURL       string  `json:"server_url"`
	Timestamp       int64   `json:"timestamp"`
	UUID            string  `json:"uuid"`
	Version         string  `json:"version"`
}

ClientResults contains the results measured by the client. This data structure is sent to the server in the collection phase.

All the fields listed here are part of the original specification of DASH, except ServerURL, added in MK v0.10.6.

type Logger

type Logger interface {
	// Debug emits a debug message.
	Debug(msg string)

	// Debugf formats and emits a debug message.
	Debugf(format string, v ...interface{})

	// Info emits an informational message.
	Info(msg string)

	// Infof format and emits an informational message.
	Infof(format string, v ...interface{})

	// Warn emits a warning message.
	Warn(msg string)

	// Warnf formats and emits a warning message.
	Warnf(format string, v ...interface{})
}

Logger defines the common interface that a logger should have. It is out of the box compatible with `log.Log` in `apex/log`.

This interface is copied from github.com/ooni/probe-engine

type NegotiateRequest

type NegotiateRequest struct {
	DASHRates []int64 `json:"dash_rates"`
}

NegotiateRequest contains the request of negotiation

type NegotiateResponse

type NegotiateResponse struct {
	Authorization string `json:"authorization"`
	QueuePos      int64  `json:"queue_pos"`
	RealAddress   string `json:"real_address"`
	Unchoked      int    `json:"unchoked"`
}

NegotiateResponse contains the response of negotiation

type ServerResults

type ServerResults struct {
	Iteration int64   `json:"iteration"`
	Ticks     float64 `json:"ticks"`
	Timestamp int64   `json:"timestamp"`
}

ServerResults contains the server results. This data structure is sent to the client during the collection phase of DASH.

type ServerSchema

type ServerSchema struct {
	Client              []ClientResults `json:"client"`
	ServerSchemaVersion int             `json:"srvr_schema_version"`
	ServerTimestamp     int64           `json:"srvr_timestamp"`
	Server              []ServerResults `json:"server"`
}

ServerSchema is the data format traditionally used by the original Neubot server for DASH experiments.

Jump to

Keyboard shortcuts

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