func zeroOutResults()

in collector/collector.go [405:441]


func zeroOutResults(
	glr *config.RemoteConfig,
	ms messageStore,
	rs resultStore,
	remotes config.RemoteStore,
	sfn statsUploader,
	sr metrics.Reporter,
	logger *log.Logger,
) {
	timedOutReport := report{
		latency2Way: 0,
		latency1Way: 0,
		timedOut:    true}

	for targetKey := range ms {
		_, existsTarget := rs[targetKey]
		if !existsTarget {
			var resDSCP [defines.NumQOSDCSPValues]map[layers.TCPPort]report
			rs[targetKey] = &resDSCP
		}
		for qosDSCP := 0; qosDSCP < defines.NumQOSDCSPValues; qosDSCP++ {
			if rs[targetKey][qosDSCP] == nil {
				rs[targetKey][qosDSCP] = make(map[layers.TCPPort]report)
			}
			for srcPort := range ms[targetKey][qosDSCP].sent {
				if _, existsSrc := rs[targetKey][qosDSCP][srcPort]; existsSrc {
					continue
				}
				rs[targetKey][qosDSCP][srcPort] = timedOutReport

				// Upload timed out results
				sfn(glr, sr, targetKey, remotes, ip.GetDSCP[qosDSCP], srcPort, &timedOutReport, logger)
				time.Sleep(1 * time.Millisecond)
			}
		}
	}
}