Class FutureRpcResults
- java.lang.Object
-
- org.opendaylight.serviceutils.tools.mdsal.rpc.FutureRpcResults
-
@Beta @Deprecated public final class FutureRpcResults extends Object
Deprecated.UseFutureRpcResults
inrpc-api
instead.Utility to simplify correctly handling transformation of Future of RpcResult to return.- Author:
- Michael Vorburger.ch
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static class
FutureRpcResults.FutureRpcResultBuilder<I,O>
Deprecated.static class
FutureRpcResults.LogLevel
Deprecated.
-
Method Summary
All Methods Static Methods Concrete Methods Deprecated Methods Modifier and Type Method Description static <I,O>
FutureRpcResults.FutureRpcResultBuilder<I,O>fromBuilder(org.slf4j.Logger logger, @Nullable I input, Callable<org.opendaylight.yangtools.concepts.Builder<O>> builder)
Deprecated.static <I,O>
FutureRpcResults.FutureRpcResultBuilder<I,O>fromBuilder(org.slf4j.Logger logger, String rpcMethodName, @Nullable I input, Callable<org.opendaylight.yangtools.concepts.Builder<O>> builder)
Deprecated.static <I,O>
FutureRpcResults.FutureRpcResultBuilder<I,O>fromListenableFuture(org.slf4j.Logger logger, @Nullable I input, Callable<com.google.common.util.concurrent.ListenableFuture<O>> callable)
Deprecated.Create a Builder for a ListenableFuture to Future<RpcResult<O>> transformer.static <I,O>
FutureRpcResults.FutureRpcResultBuilder<I,O>fromListenableFuture(org.slf4j.Logger logger, String rpcMethodName, @Nullable I input, Callable<com.google.common.util.concurrent.ListenableFuture<O>> callable)
Deprecated.Create a Builder for a ListenableFuture to Future<RpcResult<O>> transformer.
-
-
-
Method Detail
-
fromListenableFuture
@CheckReturnValue public static <I,O> FutureRpcResults.FutureRpcResultBuilder<I,O> fromListenableFuture(org.slf4j.Logger logger, @Nullable I input, Callable<com.google.common.util.concurrent.ListenableFuture<O>> callable)
Deprecated.Create a Builder for a ListenableFuture to Future<RpcResult<O>> transformer. By default, the future will log success or failure, with configurable log levels; the caller can also add handlers for success and/or failure.The RPC's method name is automatically obtained using
StackTraces
. This has some cost, which in the overall scheme of a typical RPC is typically negligible, but on a highly optimized fast path could theoretically be an issue; if you see this method as a hot spot in a profiler, then (only) use the alternative signature where you manually pass the String rpcMethodName.- Parameters:
logger
- the slf4j Logger of the callerinput
- the RPC input DataObject of the caller (may be null)callable
- the Callable (typically lambda) creating a ListenableFuture. Note that the functional interface Callable's call() method declares throws Exception, so your lambda does not have to do any exception handling (specifically it does NOT have to catch and wrap any exception into a failed Future); this utility does that for you.- Returns:
- a new Builder
-
fromListenableFuture
@CheckReturnValue public static <I,O> FutureRpcResults.FutureRpcResultBuilder<I,O> fromListenableFuture(org.slf4j.Logger logger, String rpcMethodName, @Nullable I input, Callable<com.google.common.util.concurrent.ListenableFuture<O>> callable)
Deprecated.Create a Builder for a ListenableFuture to Future<RpcResult<O>> transformer. By default, the future will log success or failure, with configurable log levels; the caller can also add handlers for success and/or failure.- Parameters:
logger
- the slf4j Logger of the callerrpcMethodName
- Java method name (without "()") of the RPC operation, used for logginginput
- the RPC input DataObject of the caller (may be null)callable
- the Callable (typically lambda) creating a ListenableFuture. Note that the functional interface Callable's call() method declares throws Exception, so your lambda does not have to do any exception handling (specifically it does NOT have to catch and wrap any exception into a failed Future); this utility does that for you.- Returns:
- a new FutureRpcResultBuilder
-
fromBuilder
@CheckReturnValue public static <I,O> FutureRpcResults.FutureRpcResultBuilder<I,O> fromBuilder(org.slf4j.Logger logger, String rpcMethodName, @Nullable I input, Callable<org.opendaylight.yangtools.concepts.Builder<O>> builder)
Deprecated.
-
fromBuilder
@CheckReturnValue public static <I,O> FutureRpcResults.FutureRpcResultBuilder<I,O> fromBuilder(org.slf4j.Logger logger, @Nullable I input, Callable<org.opendaylight.yangtools.concepts.Builder<O>> builder)
Deprecated.
-
-