broadcastMessage method

Future<List<Peer>> broadcastMessage(
  1. WireMessage message
)

Broadcast a message to all healthy peers

Implementation

Future<List<Peer>> broadcastMessage(WireMessage message) async {
  if (_isShutdown) {
    return [];
  }

  final healthyPeers = getHealthyPeers();
  final successful = <Peer>[];

  logger.fine('Broadcasting ${message.command} to ${healthyPeers.length} peers');

  for (final peer in healthyPeers) {
    try {
      await peer.writeMessage(message);
      successful.add(peer);
    } catch (e) {
      logger.warning('Failed to broadcast ${message.command} to ${peer}: $e');
    }
  }

  return successful;
}