reSubscribeInFlightSubscriptions method

void reSubscribeInFlightSubscriptions(
  1. RelayConnectivity relayConnectivity
)

Implementation

void reSubscribeInFlightSubscriptions(RelayConnectivity relayConnectivity) {
  final transport = relayConnectivity.relayTransport;
  if (transport == null || !transport.isOpen()) {
    return;
  }

  globalState.inFlightRequests.forEach((key, state) {
    state.requests.values
        .where((req) => req.url == relayConnectivity.url)
        .forEach((req) {
          if (!state.request.closeOnEOSE) {
            List<dynamic> list = ["REQ", state.id];
            list.addAll(req.filters.map((filter) => filter.toMap()));

            relayConnectivity.stats.activeRequests++;
            _sendRaw(relayConnectivity, transport, jsonEncode(list));
          }
        });
  });
}