private State readyState() {
        // skip pending queue cancel : DelayedStream
        if (Boolean.FALSE == this.onReadyState.get()) {
            final long pendingCount = this.pendingCounter.incrementAndGet();
            if (pendingCount > this.maxPendingThreshold) {
                final String message = "maximum pending requests " + pendingCount + "/" + this.maxPendingThreshold;
                return new State(false, message);
            }
            return OK;
        }

        final boolean ready = isReady();
        try {
            this.discardLimiter.discard(ready);
        } catch (DiscardLimiter.DiscardLimiterException e) {
            return new State(true, e.getMessage(), e);
        }

        if (Boolean.FALSE == ready) {
            return NOT_READY;
        }
        return OK;
    }
@author Woonduk Kang(emeroad)
@author jaehong.kim
grpc/src/main/java/com/navercorp/pinpoint/grpc/client/interceptor/DiscardClientCall.java