X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?p=controller.git;a=blobdiff_plain;f=opendaylight%2Fmd-sal%2Fsal-connector-api%2Fsrc%2Fmain%2Fjava%2Forg%2Fopendaylight%2Fcontroller%2Fsal%2Fconnector%2Fapi%2FRpcRouter.java;h=c56560ac75f074f9ba735916c6a709e6f0de62c0;hp=08fce5783ef691009b336dfc18fd7c6eb8402374;hb=b998131396132a7630f271f9baea225b45fde789;hpb=6668a20ff21282576d2d408d9b1ce4cf9ba0c9ac diff --git a/opendaylight/md-sal/sal-connector-api/src/main/java/org/opendaylight/controller/sal/connector/api/RpcRouter.java b/opendaylight/md-sal/sal-connector-api/src/main/java/org/opendaylight/controller/sal/connector/api/RpcRouter.java index 08fce5783e..c56560ac75 100644 --- a/opendaylight/md-sal/sal-connector-api/src/main/java/org/opendaylight/controller/sal/connector/api/RpcRouter.java +++ b/opendaylight/md-sal/sal-connector-api/src/main/java/org/opendaylight/controller/sal/connector/api/RpcRouter.java @@ -1,9 +1,17 @@ +/* + * Copyright (c) 2014 Cisco Systems, Inc. and others. All rights reserved. + * + * This program and the accompanying materials are made available under the + * terms of the Eclipse Public License v1.0 which accompanies this distribution, + * and is available at http://www.eclipse.org/legal/epl-v10.html + */ package org.opendaylight.controller.sal.connector.api; import java.util.concurrent.Future; /** - * + * Interface for an RPC router. + * * @author ttkacik * * @param Routing Context Identifier @@ -12,35 +20,34 @@ import java.util.concurrent.Future; * @param Data Type */ public interface RpcRouter { - - - Future> sendRpc(RpcRequest input); - - + + /** - * - * @author + * Interface for an RPC request. * * @param Routing Context Identifier - * @param Route Type - * @param Rpc Type - * @param Data Type + * @param Route Type + * @param Rpc Type + * @param Data Type */ - public interface RpcRequest { + interface RpcRequest { RouteIdentifier getRoutingInformation(); + D getPayload(); } - - public interface RouteIdentifier { - + + interface RouteIdentifier { + C getContext(); // defines a routing table (e.g. NodeContext) + T getType(); // rpc type + R getRoute(); // e.g. (node identity) } - - public interface RpcReply { + + interface RpcReply { D getPayload(); } }