stabilityScore property
double
get
stabilityScore
Stability score 0..1 (same formula as nkn-sdk-go CalculateClientScore, without duration if connectTimeMs missing).
Implementation
double get stabilityScore {
if (state != ConnState.connected) return 0.0;
double score = 0.5;
final durationSec = connectionDurationSeconds;
if (durationSec > 0) {
const oneHour = 3600.0;
final durationScore = (durationSec / oneHour).clamp(0.0, 1.0);
score += durationScore * 0.4;
}
final reconnectPenalty = (reconnectCount * 0.02).clamp(0.0, 0.1);
score -= reconnectPenalty;
final sendFailurePenalty = (sendFailureCount * 0.01).clamp(0.0, 0.1);
score -= sendFailurePenalty;
return score.clamp(0.0, 1.0);
}