github.com/network-quality/goresponsiveness@v0.0.0-20240129151524-343954285090/direction/direction.go (about) 1 /* 2 * This file is part of Go Responsiveness. 3 * 4 * Go Responsiveness is free software: you can redistribute it and/or modify it under 5 * the terms of the GNU General Public License as published by the Free Software Foundation, 6 * either version 2 of the License, or (at your option) any later version. 7 * Go Responsiveness is distributed in the hope that it will be useful, but WITHOUT ANY 8 * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A 9 * PARTICULAR PURPOSE. See the GNU General Public License for more details. 10 * 11 * You should have received a copy of the GNU General Public License along 12 * with Go Responsiveness. If not, see <https://www.gnu.org/licenses/>. 13 */ 14 15 package direction 16 17 import ( 18 "context" 19 20 "github.com/network-quality/goresponsiveness/datalogger" 21 "github.com/network-quality/goresponsiveness/debug" 22 "github.com/network-quality/goresponsiveness/lgc" 23 "github.com/network-quality/goresponsiveness/probe" 24 "github.com/network-quality/goresponsiveness/rpm" 25 "github.com/network-quality/goresponsiveness/series" 26 ) 27 28 type Direction struct { 29 DirectionLabel string 30 SelfProbeDataLogger datalogger.DataLogger[probe.ProbeDataPoint] 31 ForeignProbeDataLogger datalogger.DataLogger[probe.ProbeDataPoint] 32 ThroughputDataLogger datalogger.DataLogger[rpm.ThroughputDataPoint] 33 GranularThroughputDataLogger datalogger.DataLogger[rpm.GranularThroughputDataPoint] 34 CreateLgdc func() lgc.LoadGeneratingConnection 35 Lgcc lgc.LoadGeneratingConnectionCollection 36 DirectionDebugging *debug.DebugWithPrefix 37 ProbeDebugging *debug.DebugWithPrefix 38 ThroughputStabilizerDebugging *debug.DebugWithPrefix 39 ResponsivenessStabilizerDebugging *debug.DebugWithPrefix 40 ExtendedStatsEligible bool 41 StableThroughput bool 42 StableResponsiveness bool 43 SelfRtts series.WindowSeries[float64, uint64] 44 ForeignRtts series.WindowSeries[float64, uint64] 45 ThroughputActivityCtx *context.Context 46 ThroughputActivityCtxCancel *context.CancelFunc 47 FormattedResults string 48 LowerBucketBound uint64 49 UpperBucketBound uint64 50 }