X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?p=controller.git;a=blobdiff_plain;f=opendaylight%2Fmd-sal%2Fsal-remoterpc-connector%2Fsrc%2Fmain%2Fjava%2Forg%2Fopendaylight%2Fcontroller%2Fremote%2Frpc%2FRemoteRpcImplementation.java;h=a7370490dc7b0a1428150cb46a5e8454c34cd25b;hp=71b275999171d04419df3a3c6744502a3fdf1791;hb=927bce5688e4b9d33d3e5e9b769d8a0dba5ccdd4;hpb=a2b838f96589b502578fa4e15cef2769f886a378 diff --git a/opendaylight/md-sal/sal-remoterpc-connector/src/main/java/org/opendaylight/controller/remote/rpc/RemoteRpcImplementation.java b/opendaylight/md-sal/sal-remoterpc-connector/src/main/java/org/opendaylight/controller/remote/rpc/RemoteRpcImplementation.java index 71b2759991..a7370490dc 100644 --- a/opendaylight/md-sal/sal-remoterpc-connector/src/main/java/org/opendaylight/controller/remote/rpc/RemoteRpcImplementation.java +++ b/opendaylight/md-sal/sal-remoterpc-connector/src/main/java/org/opendaylight/controller/remote/rpc/RemoteRpcImplementation.java @@ -7,11 +7,7 @@ */ package org.opendaylight.controller.remote.rpc; -import static java.util.Objects.requireNonNull; - import akka.actor.ActorRef; -import akka.pattern.Patterns; -import akka.util.Timeout; import com.google.common.util.concurrent.ListenableFuture; import org.opendaylight.controller.remote.rpc.messages.ExecuteRpc; import org.opendaylight.mdsal.dom.api.DOMRpcIdentifier; @@ -24,24 +20,15 @@ import org.opendaylight.yangtools.yang.data.api.schema.NormalizedNode; * * @author Robert Varga */ -final class RemoteRpcImplementation implements DOMRpcImplementation { - // 0 for local, 1 for binding, 2 for remote - private static final long COST = 2; - - private final ActorRef remoteInvoker; - private final Timeout askDuration; - - RemoteRpcImplementation(final ActorRef remoteInvoker, final RemoteRpcProviderConfig config) { - this.remoteInvoker = requireNonNull(remoteInvoker); - this.askDuration = config.getAskDuration(); +final class RemoteRpcImplementation extends AbstractRemoteImplementation implements DOMRpcImplementation { + RemoteRpcImplementation(final ActorRef remoteInvoker, final RemoteOpsProviderConfig config) { + super(remoteInvoker, config); } @Override public ListenableFuture invokeRpc(final DOMRpcIdentifier rpc, final NormalizedNode input) { - final RemoteDOMRpcFuture ret = RemoteDOMRpcFuture.create(rpc.getType().getLastComponent()); - ret.completeWith(Patterns.ask(remoteInvoker, ExecuteRpc.from(rpc, input), askDuration)); - return ret; + return new RemoteDOMRpcFuture(rpc.getType(), ask(ExecuteRpc.from(rpc, input))); } @Override