func()

in collector/collector.go [162:195]


func (rs resultStore) processResults(
	gl *config.Global,
	remotes config.RemoteStore,
	target string,
	req tcp.Message,
	rep tcp.Message,
	logger *log.Logger,
) report {

	// Calculate metrics
	l2w := rep.Ts.Run.Sub(req.Ts.Run)
	timedOut := l2w > gl.RemoteConfig.Timeout
	if timedOut {
		logger.Debug("Received timed-out echo response from", zap.String("target", target))
	}

	l1w := rep.Ts.Payload.Sub(req.Ts.Unix)
	if rep.FromExternalTarget(gl.RemoteConfig.TargetTCPPort) {
		l1w = -1
	}

	r := report{
		latency2Way: l2w,
		latency1Way: l1w,
		timedOut:    timedOut}

	// Store processed report to 'result' data structure for stdout, if needed
	if !*(gl.CLI.SenderOnlyMode) {
		QosDSCPIndex := (ip.GetDSCP).Pos(req.QosDSCP, logger)
		rs.add(target, QosDSCPIndex, req.SrcPort, r)
	}

	return r
}