private void processResponses(Result result, String summaryClass) throws TimeoutException {
        try {
            List<FastHit> skippedHits = new ArrayList<>();
            while (outstandingResponses > 0) {
                var responseAndHits = getNextResponse(result.getQuery().getTimeLeft());
                if (responseAndHits == null) {
                    throwTimeout();
                }
                skippedHits.addAll(processOneResponse(result, responseAndHits, summaryClass, false));
                outstandingResponses--;
            }
            if (skippedHits.isEmpty()) {
                // all done OK
                return;
            }
            maybeRetry(skippedHits, result, summaryClass);
            if (! skippedHits.isEmpty()) {
                result.hits().addError(ErrorMessage
                        .createEmptyDocsums("Missing hit summary data for summary " + summaryClass + " for " + skippedHits + " hits"));
            }
        } catch (InterruptedException e) {
            // TODO: Add error
        }
    }
Send a docsums request to a node. Responses will be added to the given receiver.
container-search/src/main/java/com/yahoo/search/dispatch/rpc/RpcProtobufFillInvoker.java