private void invokeOnMessage(I request, boolean halfClose) {
        if (blockingExecutor != null && cancelled) {
            // Do not call listener.onMessage() if the call is cancelled after
            // this task was scheduled to blockingTaskExecutor.
            return;
        }
        try (SafeCloseable ignored = ctx.push()) {
            assert listener != null;
            listener.onMessage(request);
            if (halfClose) {
                listener.onHalfClose();
            }
        } catch (Throwable cause) {
            close(cause);
        }
    }
Cancels a call when the call was closed by a client, not by server.
grpc/src/main/java/com/linecorp/armeria/internal/server/grpc/AbstractServerCall.java