startListeningToSocket method

void startListeningToSocket(
  1. String url
)

Implementation

void startListeningToSocket(String url) {
  webSockets[url]!.stream.asBroadcastStream().listen((message) {
    _handleIncommingMessage(message, url);
  }
      , onError: (error) async {
        /// todo: handle this better, should clean subscription stuff
        relays[url]!.stats.connectionErrors++;
        print("onError $url on listen $error");
        throw Exception("Error in socket");
      }, onDone: () {
        if (allowReconnectRelays) {
          print("onDone $url on listen (close: ${webSockets[url]!.closeCode} ${webSockets[url]!.closeReason}), trying to reconnect");
          if (isWebSocketOpen(url)) {
            print("closing $url webSocket");
            webSockets[url]!.sink.close();
            print("closed $url. Reconnecting");
            reconnectRelay(url);
          } else {
            reconnectRelay(url);
          }
        }
        /// todo: handle this better, should clean subscription stuff
      });
  // webSockets[url]!.incomingMessagesStream.listen((message) {
  //   _handleIncommingMessage(message, url);
  // }
  // , onError: (error) async {
  //   /// todo: handle this better, should clean subscription stuff
  //   print("onError $url on listen $error");
  //   throw Exception("Error in socket");
  // }, onDone: () {
  //   print("onDone $url on listen, trying to reconnect");
  //   relays[url]!.stats.connectionErrors++;
  //   if (isWebSocketOpen(url)) {
  //     print("closing $url webSocket");
  //     webSockets[url]!.close();
  //     print("closed $url. Reconnecting");
  //     reconnectRelay(url);
  //   } else {
  //     reconnectRelay(url);
  //   }
  //   /// todo: handle this better, should clean subscription stuff
  // });
}