private boolean setState(State oldState, State newState) {
        assert newState != State.OPEN : "oldState: " + oldState + ", newState: " + newState;
        return stateUpdater.compareAndSet(this, oldState, newState);
    }
Tries to close the stream with the specified {@code cause}.

@return {@code true} if the stream has been closed by this method call.
        {@code false} if the stream has been closed already by another party.
core/src/main/java/com/linecorp/armeria/common/stream/DefaultStreamMessage.java