docs: @CheckReturnValue
    public boolean pingAcceptable() {
      long now = ticker.nanoTime();
      boolean valid;
      if (!hasOutstandingCalls && !permitWithoutCalls) {
        valid = compareNanos(lastValidPingTime + IMPLICIT_PERMIT_TIME_NANOS, now) <= 0;
      } else {
        valid = compareNanos(lastValidPingTime + minTimeNanos, now) <= 0;
      }
      if (!valid) {
        pingStrikes++;
        return !(pingStrikes > MAX_PING_STRIKES);
      } else {
        lastValidPingTime = now;
        return true;
      }
    }