41 lines
1.4 KiB
Go
41 lines
1.4 KiB
Go
|
// Package model contains the shared interfaces and data structures.
|
||
|
//
|
||
|
// Criteria for adding a type to this package
|
||
|
//
|
||
|
// This package should contain two types:
|
||
|
//
|
||
|
// 1. important interfaces that are shared by several packages
|
||
|
// within the codebase, with the objective of separating unrelated
|
||
|
// pieces of code and making unit testing easier;
|
||
|
//
|
||
|
// 2. important pieces of data that are shared across different
|
||
|
// packages (e.g., the representation of a Measurement).
|
||
|
//
|
||
|
// In general, this package should not contain logic, unless
|
||
|
// this logic is strictly related to data structures and we
|
||
|
// cannot implement this logic elsewhere.
|
||
|
//
|
||
|
// Content of this package
|
||
|
//
|
||
|
// The following list (which may not always be up-to-date)
|
||
|
// summarizes the categories of types that currently belong here
|
||
|
// and names the files in which they are implemented:
|
||
|
//
|
||
|
// - experiment.go: generic definition of a network experiment
|
||
|
// and all the required support types;
|
||
|
//
|
||
|
// - keyvaluestore.go: generic definition of a key-value store,
|
||
|
// used in several places across the codebase;
|
||
|
//
|
||
|
// - logger.go: generic definition of an apex/log compatible logger,
|
||
|
// used in several places across the codebase;
|
||
|
//
|
||
|
// - measurement.go: data type representing the result of
|
||
|
// a network measurement, used in many many places;
|
||
|
//
|
||
|
// - netx.go: network extension interfaces and data used everywhere
|
||
|
// we need to perform network operations;
|
||
|
//
|
||
|
// - ooapi.go: types to communicate with the OONI API.
|
||
|
package model
|