
io.lettuce.core.resource.PromiseAdapter Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of lettuce-core Show documentation
Show all versions of lettuce-core Show documentation
Advanced and thread-safe Java Redis client for synchronous, asynchronous, and
reactive usage. Supports Cluster, Sentinel, Pipelining, Auto-Reconnect, Codecs
and much more.
The newest version!
package io.lettuce.core.resource;
import io.netty.util.concurrent.*;
/**
* Utility class to support netty's future handling.
*
* @author Mark Paluch
* @since 3.4
*/
class PromiseAdapter {
/**
* Create a promise that emits a {@code Boolean} value on completion of the {@code future}
*
* @param future the future.
* @return Promise emitting a {@code Boolean} value. {@code true} if the {@code future} completed successfully, otherwise
* the cause wil be transported.
*/
static Promise toBooleanPromise(Future> future) {
DefaultPromise result = new DefaultPromise<>(GlobalEventExecutor.INSTANCE);
if (future.isDone() || future.isCancelled()) {
if (future.isSuccess()) {
result.setSuccess(true);
} else {
result.setFailure(future.cause());
}
return result;
}
future.addListener((GenericFutureListener>) f -> {
if (f.isSuccess()) {
result.setSuccess(true);
} else {
result.setFailure(f.cause());
}
});
return result;
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy