X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?p=controller.git;a=blobdiff_plain;f=opendaylight%2Fmd-sal%2Fsal-dom-api%2Fsrc%2Fmain%2Fjava%2Forg%2Fopendaylight%2Fcontroller%2Fsal%2Fcore%2Fapi%2FRpcImplementation.java;h=5055ad1430b1d584f9918e8b76101d766105a543;hp=6b1030a81500f5a909d6df30f69e52208025c482;hb=ea3673e89598b896c93ebee864e6cb8db7f6c6ec;hpb=ca923718510fffbf66c2a0c6f41a3638d59495e9 diff --git a/opendaylight/md-sal/sal-dom-api/src/main/java/org/opendaylight/controller/sal/core/api/RpcImplementation.java b/opendaylight/md-sal/sal-dom-api/src/main/java/org/opendaylight/controller/sal/core/api/RpcImplementation.java index 6b1030a815..5055ad1430 100644 --- a/opendaylight/md-sal/sal-dom-api/src/main/java/org/opendaylight/controller/sal/core/api/RpcImplementation.java +++ b/opendaylight/md-sal/sal-dom-api/src/main/java/org/opendaylight/controller/sal/core/api/RpcImplementation.java @@ -7,10 +7,8 @@ */ package org.opendaylight.controller.sal.core.api; +import com.google.common.util.concurrent.ListenableFuture; import java.util.Set; - -import org.opendaylight.controller.sal.core.api.Broker.ConsumerSession; -import org.opendaylight.controller.sal.core.api.Broker.ProviderSession; import org.opendaylight.yangtools.yang.common.QName; import org.opendaylight.yangtools.yang.common.RpcResult; import org.opendaylight.yangtools.yang.data.api.CompositeNode; @@ -27,14 +25,14 @@ import org.opendaylight.yangtools.yang.data.api.CompositeNode; * {@link Provider#getProviderFunctionality()} *
  • passing an instance of implementation and {@link QName} of rpc as * arguments to the - * {@link ProviderSession#addRpcImplementation(QName, RpcImplementation)} + * {@link org.opendaylight.controller.sal.core.api.Broker.ProviderSession#addRpcImplementation(QName, RpcImplementation)} * * * The simplified process of the invocation of rpc is following: * *
      *
    1. {@link Consumer} invokes - * {@link ConsumerSession#rpc(QName, CompositeNode)} + * {@link org.opendaylight.controller.sal.core.api.Broker.ConsumerSession#rpc(QName, CompositeNode)} *
    2. {@link Broker} finds registered {@link RpcImplementation}s *
    3. {@link Broker} invokes * {@link RpcImplementation#invokeRpc(QName, CompositeNode)} @@ -43,8 +41,9 @@ import org.opendaylight.yangtools.yang.data.api.CompositeNode; *
    4. {@link Broker} returns the {@link RpcResult} to {@link Consumer} *
    * - * + * @deprecated Use {@link org.opendaylight.controller.md.sal.dom.api.DOMRpcImplementation} instead. */ +@Deprecated public interface RpcImplementation extends Provider.ProviderFunctionality { /** @@ -59,13 +58,12 @@ public interface RpcImplementation extends Provider.ProviderFunctionality { Set getSupportedRpcs(); /** - * Invokes a implementation of specified rpc. - * + * Invokes a implementation of specified RPC asynchronously. * * @param rpc - * Rpc to be invoked + * RPC to be invoked * @param input - * Input data for rpc. + * Input data for the RPC. * * @throws IllegalArgumentException * - * @return RpcResult containing the output of rpc if was executed - * successfully, the list of errors otherwise. + * @return Future promising an RpcResult containing the output of + * the RPC if was executed successfully, the list of errors + * otherwise. */ - RpcResult invokeRpc(QName rpc, CompositeNode input); - + ListenableFuture> invokeRpc(QName rpc, CompositeNode input); }