code: public void transportClosed() {
          boolean changed=false;
  
          lock.lock();
          try {
              for(Map.Entry<Address, Rsp<T>> entry: rsps.entrySet()) {
                  Rsp<T> rsp=entry.getValue();
                  if(rsp != null && !(rsp.wasReceived() || rsp.wasSuspected() || rsp.wasUnreachable())) {
                      rsp.setException(new IllegalStateException("transport was closed"));
                      num_received++;
                      changed=true;
                  }
              }
              if(changed && responsesComplete()) {
                  complete(this.rsps);
                  corrDone();
              }
          }
          finally {
              lock.unlock();
          }
      }
docs: Marks all responses with an exception (unless a response was already marked as done)