@Override
    public void propagateOptions(FleetControllerOptions options) {
        checkArgument(options.nodeStateRequestTimeoutMS() > 0);
        checkArgument(options.nodeStateRequestTimeoutEarliestPercentage() >= 0);
        checkArgument(options.nodeStateRequestTimeoutEarliestPercentage() <= 100);
        checkArgument(options.nodeStateRequestTimeoutLatestPercentage() >= options.nodeStateRequestTimeoutEarliestPercentage());
        checkArgument(options.nodeStateRequestTimeoutLatestPercentage() <= 100);
        checkArgument(options.nodeStateRequestRoundTripTimeMaxSeconds() >= 0);
        this.nodeStateRequestTimeoutIntervalMax = Duration.ofMillis(options.nodeStateRequestTimeoutMS());
        this.nodeStateRequestTimeoutIntervalStartPercentage = options.nodeStateRequestTimeoutEarliestPercentage();
        this.nodeStateRequestTimeoutIntervalStopPercentage = options.nodeStateRequestTimeoutLatestPercentage();
        this.nodeStateRequestRoundTripTimeMax = Duration.ofSeconds(options.nodeStateRequestRoundTripTimeMaxSeconds());
    }
Responsible for doing RPC requests to storage nodes.
This class is not thread-safe.
clustercontroller-core/src/main/java/com/yahoo/vespa/clustercontroller/core/rpc/RPCCommunicator.java