@Override
        public void cancel() {
            canceled = true;
            cancelSchedule();
            assert subscription != null;
            subscription.cancel();
        }
Subscribes the given subscriber to this stream with timeout logic applied.

@param subscriber the subscriber to this stream
@param executor the executor for running timeout tasks and stream operations
@param options subscription options
@see StreamMessage#subscribe(Subscriber, EventExecutor, SubscriptionOption...)
core/src/main/java/com/linecorp/armeria/common/stream/TimeoutStreamMessage.java