@Override
public <ReqT, RespT> ServerCall.Listener<ReqT> interceptCall(ServerCall<ReqT, RespT> call, Metadata headers, ServerCallHandler<ReqT, RespT> next) {
resizePool(activeCalls.incrementAndGet());
ServerCall.Listener<ReqT> delegate = next.startCall(call, headers);
return new ForwardingServerCallListener.SimpleForwardingServerCallListener<ReqT>(delegate) {
@Override
public void onCancel() {
super.onCancel();
activeCalls.decrementAndGet();
}
@Override
public void onComplete() {
super.onComplete();
activeCalls.decrementAndGet();
}
};
}