47 lines
1.3 KiB
Go
47 lines
1.3 KiB
Go
|
package tlsmiddlebox
|
||
|
|
||
|
import (
|
||
|
"sync"
|
||
|
|
||
|
"github.com/ooni/probe-cli/v3/internal/model"
|
||
|
)
|
||
|
|
||
|
// TestKeys contains the experiment results
|
||
|
type TestKeys struct {
|
||
|
Queries []*model.ArchivalDNSLookupResult `json:"queries"`
|
||
|
TCPConnect []*model.ArchivalTCPConnectResult `json:"tcp_connect"`
|
||
|
IterativeTrace []*CompleteTrace `json:"iterative_trace"`
|
||
|
|
||
|
mu sync.Mutex
|
||
|
}
|
||
|
|
||
|
// NewTestKeys creates new tlsmiddlebox TestKeys
|
||
|
func NewTestKeys() *TestKeys {
|
||
|
return &TestKeys{
|
||
|
Queries: []*model.ArchivalDNSLookupResult{},
|
||
|
TCPConnect: []*model.ArchivalTCPConnectResult{},
|
||
|
IterativeTrace: []*CompleteTrace{},
|
||
|
}
|
||
|
}
|
||
|
|
||
|
// addqueries adds []*model.ArchivalDNSLookupResut to the test keys queries
|
||
|
func (tk *TestKeys) addQueries(ev []*model.ArchivalDNSLookupResult) {
|
||
|
tk.mu.Lock()
|
||
|
tk.Queries = append(tk.Queries, ev...)
|
||
|
tk.mu.Unlock()
|
||
|
}
|
||
|
|
||
|
// addTCPConnect adds []*model.ArchivalTCPConnectResult to the test keys TCPConnect
|
||
|
func (tk *TestKeys) addTCPConnect(ev []*model.ArchivalTCPConnectResult) {
|
||
|
tk.mu.Lock()
|
||
|
tk.TCPConnect = append(tk.TCPConnect, ev...)
|
||
|
tk.mu.Unlock()
|
||
|
}
|
||
|
|
||
|
// addTrace adds []*CompleteTrace to the test keys Trace
|
||
|
func (tk *TestKeys) addTrace(ev ...*CompleteTrace) {
|
||
|
tk.mu.Lock()
|
||
|
tk.IterativeTrace = append(tk.IterativeTrace, ev...)
|
||
|
tk.mu.Unlock()
|
||
|
}
|