public boolean canSendRequest(final long currentTimeMs) {
        if (requestInFlight()) {
            log.trace("An inflight request already exists for {}", this);
            return false;
        }

        long remainingBackoffMs = remainingBackoffMs(currentTimeMs);

        if (remainingBackoffMs <= 0) {
            return true;
        } else {
            log.trace("{} ms remain before another request should be sent for {}", remainingBackoffMs, this);
            return false;
        }
    }
Reset request state so that new requests can be sent immediately
and the backoff is restored to its minimal configuration.
clients/src/main/java/org/apache/kafka/clients/consumer/internals/RequestState.java