@CheckReturnValue
    @SchedulerSupport(SchedulerSupport.CUSTOM)
    public static <T> Single<T> fromFuture(Future<? extends T> future, long timeout, TimeUnit unit, Scheduler scheduler) {
    """
	Converts a {@link Future} into a {@code Single}, with a timeout on the Future.
	<p>
	<img width="640" height="315" src="https://raw.github.com/wiki/ReactiveX/RxJava/images/rx-operators/Single.from.Future.png" alt="">
	<p>
	You can convert any object that supports the {@link Future} interface into a {@code Single} that emits
	the return value of the {@link Future#get} method of that object, by passing the object into the
	{@code from} method.
	<p>
	<em>Important note:</em> This {@code Single} is blocking; you cannot dispose it.
	<dl>
	<dt><b>Scheduler:</b></dt>
	<dd>You specify the {@link Scheduler} where the blocking wait will happen.</dd>
	</dl>
	
	@param future
	the source {@link Future}
	@param timeout
	the maximum time to wait before calling {@code get}
	@param unit
	the {@link TimeUnit} of the {@code timeout} argument
	@param scheduler
	the Scheduler to use for the blocking wait
	@param <T>
	the type of object that the {@link Future} returns, and also the type of item to be emitted by
	the resulting {@code Single}
	@return a {@code Single} that emits the item from the source {@link Future}
	@see <a href="http://reactivex.io/documentation/operators/from.html">ReactiveX operators documentation: From</a>
    """
        return toSingle(Flowable.<T>fromFuture(future, timeout, unit, scheduler));
    }
@CheckReturnValue
    @SchedulerSupport(SchedulerSupport.CUSTOM)
    public static <T> Single<T> fromFuture(Future<? extends T> future, long timeout, TimeUnit unit, Scheduler scheduler) {
        return toSingle(Flowable.<T>fromFuture(future, timeout, unit, scheduler));
    }
@ CheckReturnValue @ SchedulerSupport ( SchedulerSupport . CUSTOM ) public static < T > Single < T > fromFuture ( Future < ? extends T > future , long timeout , TimeUnit unit , Scheduler scheduler ) { return toSingle ( Flowable . < T > fromFuture ( future , timeout , unit , scheduler ) ) ; }
Converts a {@link Future} into a {@code Single}, with a timeout on the Future.
<p>
<img width="640" height="315" src="https://raw.github.com/wiki/ReactiveX/RxJava/images/rx-operators/Single.from.Future.png" alt="">
<p>
You can convert any object that supports the {@link Future} interface into a {@code Single} that emits
the return value of the {@link Future#get} method of that object, by passing the object into the
{@code from} method.
<p>
<em>Important note:</em> This {@code Single} is blocking; you cannot dispose it.
<dl>
<dt><b>Scheduler:</b></dt>
<dd>You specify the {@link Scheduler} where the blocking wait will happen.</dd>
</dl>

@param future
the source {@link Future}
@param timeout
the maximum time to wait before calling {@code get}
@param unit
the {@link TimeUnit} of the {@code timeout} argument
@param scheduler
the Scheduler to use for the blocking wait
@param <T>
the type of object that the {@link Future} returns, and also the type of item to be emitted by
the resulting {@code Single}
@return a {@code Single} that emits the item from the source {@link Future}
@see <a href="http://reactivex.io/documentation/operators/from.html">ReactiveX operators documentation: From</a>
Converts a { @link Future } into a { @code Single } with a timeout on the Future . <p > <img width = 640 height = 315 src = https : // raw . github . com / wiki / ReactiveX / RxJava / images / rx - operators / Single . from . Future . png alt = > <p > You can convert any object that supports the { @link Future } interface into a { @code Single } that emits the return value of the { @link Future#get } method of that object by passing the object into the { @code from } method . <p > <em > Important note : < / em > This { @code Single } is blocking ; you cannot dispose it . <dl > <dt > <b > Scheduler : < / b > < / dt > <dd > You specify the { @link Scheduler } where the blocking wait will happen . < / dd > < / dl >