f2d38256c9cf61687fd269abf52ae8188745b7d2
[controller.git] / opendaylight / md-sal / sal-binding-broker / src / main / java / org / opendaylight / controller / sal / binding / spi / RpcRoutingTable.java
1 package org.opendaylight.controller.sal.binding.spi;
2
3 import java.util.Map;
4
5 import org.opendaylight.yangtools.yang.binding.BaseIdentity;
6 import org.opendaylight.yangtools.yang.binding.InstanceIdentifier;
7 import org.opendaylight.yangtools.yang.binding.RpcService;
8
9 public interface RpcRoutingTable<C extends BaseIdentity,S extends RpcService> {
10
11     Class<C> getContextIdentifier();
12     
13     /**
14      * Updates route for particular path to specified instance of {@link RpcService}. 
15      * 
16      * @param path Path for which RpcService routing is to be updated
17      * @param service Instance of RpcService which is responsible for processing Rpc Requests.
18      */
19     void updateRoute(InstanceIdentifier path,S service);
20     
21     /**
22      * Deletes a route for particular path
23      * 
24      * @param path Path for which 
25      */
26     void deleteRoute(InstanceIdentifier path);
27     
28     /**
29      * 
30      */
31     S getService(InstanceIdentifier nodeInstance);
32     
33     /**
34      * 
35      * @return
36      */
37     Map<InstanceIdentifier,S> getRoutes();
38 }