public void updateSubscribers(RawConfig config) {
        ConfigKey<?> key = config.getKey();
        long generation = config.getGeneration();
        log.log(Level.FINE, () -> "Config updated for " + key + "," + generation);
        DelayQueue<DelayedResponse> responseDelayQueue = delayedResponses.responses();
        if (responseDelayQueue.size() == 0) return;

        log.log(Level.FINE, () -> "Delayed response queue has " + responseDelayQueue.size() + " elements");
        log.log(Level.FINEST, () -> "Delayed response queue: " + responseDelayQueue);
        boolean found = false;
        for (DelayedResponse response : responseDelayQueue.toArray(new DelayedResponse[0])) {
            JRTServerConfigRequest request = response.getRequest();
            if (request.getConfigKey().equals(key)
                    // Generation 0 is special, used when returning empty sentinel config
                    && (generation >= request.getRequestGeneration() || generation == 0)) {
                if (delayedResponses.remove(response)) {
                    found = true;
                    log.log(Level.FINE, () -> "Call returnOkResponse for " + key + "," + generation);
                    if (config.getPayload().getData().getByteLength() == 0)
                        log.log(Level.WARNING, () -> "Call returnOkResponse for " + key + "," + generation + " with empty config");
                    responseHandler.returnOkResponse(request, config);
                } else {
                    log.log(Level.INFO, "Could not remove " + key + " from delayedResponses queue, already removed");
                }
            }
        }
        if (!found) {
            log.log(Level.FINE, () -> "Found no recipient for " + key + " in delayed response queue");
        }
        log.log(Level.FINE, () -> "Finished updating config for " + key + "," + generation);
    }
Updates subscribers with new config. This method will be called when a response with changed config is
received from upstream (content or generation has changed) or the server timeout has elapsed.

@param config new config
config-proxy/src/main/java/com/yahoo/vespa/config/proxy/RpcConfigSourceClient.java