servicetalk-concurrent-api/src/main/java/io/servicetalk/concurrent/api/TimeoutCompletable.java [117:130]:
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
        public void onSubscribe(final Cancellable cancellable) {
            if (cancellableUpdater.compareAndSet(this, null, cancellable)) {
                target.onSubscribe(this);

                if (!subscriberStateUpdater.compareAndSet(this, STATE_ON_WAITING_FOR_SUBSCRIBE,
                        STATE_ON_SUBSCRIBE_DONE)) {
                    // subscriberState will be STATE_TIMED_OUT_ERROR, but the timeout occurred while we were invoking
                    // onSubscribe so terminating the target is handed off to this thread.
                    target.onError(newTimeoutException());
                }
            } else {
                cancellable.cancel();
            }
        }
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -



servicetalk-concurrent-api/src/main/java/io/servicetalk/concurrent/api/TimeoutSingle.java [119:132]:
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
        public void onSubscribe(final Cancellable cancellable) {
            if (cancellableUpdater.compareAndSet(this, null, cancellable)) {
                target.onSubscribe(this);

                if (!subscriberStateUpdater.compareAndSet(this, STATE_ON_WAITING_FOR_SUBSCRIBE,
                        STATE_ON_SUBSCRIBE_DONE)) {
                    // subscriberState will be STATE_TIMED_OUT_ERROR, but the timeout occurred while we were invoking
                    // onSubscribe so terminating the target is handed off to this thread.
                    target.onError(newTimeoutException());
                }
            } else {
                cancellable.cancel();
            }
        }
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -



