failRelayRequest method

void failRelayRequest(
  1. RequestState state,
  2. RelayConnectionKey key,
  3. List<Filter> filters,
  4. String reason,
)

Gives up on sending state on key because of reason, tracking the request there first if it is not yet. The relay keeps its place in the outcomes as notSent and stops holding the request open, so a request none of its relays could carry ends right away.

Implementation

void failRelayRequest(
  RequestState state,
  RelayConnectionKey key,
  List<Filter> filters,
  String reason,
) {
  if (!isStillInFlight(state)) return;
  state.addRequest(key, filters);
  state.requests[key]!.markNotSent(reason);
  _checkNetworkClose(state);
}