@Override
    public void subscribe(Subscriber<? super T> subscriber, EventExecutor executor,
                          SubscriptionOption... options) {
        delegate.subscribe(new TimeoutSubscriber<>(subscriber, executor, timeoutDuration, timeoutMode),
                           executor, options);
    }
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