calculateQuality static method
Calculates connection quality based on available interval and jitter metrics. Handles cases where we don't have enough data yet during initial connection.
averageInterval Average time between pings (null if not enough data)
jitter Variation in ping intervals (null if not enough data)
Returns calculated SocketConnectionQuality based on available data
Implementation
static SocketConnectionQuality calculateQuality(
int? averageInterval,
int? jitter,
) {
if (averageInterval == null && jitter == null) {
return SocketConnectionQuality.calculating;
} else if (averageInterval != null && jitter == null) {
return _assessByIntervalOnly(averageInterval);
} else if (averageInterval == null && jitter != null) {
return _assessByJitterOnly(jitter);
} else {
return _assessByBothMetrics(averageInterval!, jitter!);
}
}