getStatistics method

RelayPoolStatistics getStatistics()

Get relay statistics.

Implementation

RelayPoolStatistics getStatistics() {
  final totalRelays = _relayHealth.length;
  final healthyRelays = _relayHealth.values.where((h) => h.isHealthy).length;
  final totalConnections =
      _activeConnections.values.fold<int>(0, (sum, count) => sum + count);

  return RelayPoolStatistics(
    totalRelays: totalRelays,
    healthyRelays: healthyRelays,
    unhealthyRelays: totalRelays - healthyRelays,
    totalActiveConnections: totalConnections,
    averageConnectionsPerRelay:
        totalRelays > 0 ? totalConnections / totalRelays : 0,
  );
}