getHeartbeatStats method

HeartbeatStats getHeartbeatStats()

Get heartbeat statistics

Implementation

HeartbeatStats getHeartbeatStats() {
  final avgLatency =
      _latencyHistory.isNotEmpty
          ? Duration(
            milliseconds:
                (_latencyHistory
                            .map((d) => d.inMilliseconds)
                            .reduce((a, b) => a + b) /
                        _latencyHistory.length)
                    .round(),
          )
          : Duration.zero;

  return HeartbeatStats(
    totalHeartbeats: _totalHeartbeats,
    missedHeartbeats: _missedHeartbeats,
    reconnectionAttempts: _reconnectionAttempts,
    averageLatency: avgLatency,
    currentHealth: _currentHealth,
    lastHeartbeat: _lastHeartbeat,
    lastMissedHeartbeat: _lastMissedHeartbeat,
  );
}