Make sure invokeOperation is set once
[controller.git] / opendaylight / adsal / sal / api / src / main / java / org / opendaylight / controller / sal / routing / IRouting.java
1
2 /*
3  * Copyright (c) 2013 Cisco Systems, Inc. and others.  All rights reserved.
4  *
5  * This program and the accompanying materials are made available under the
6  * terms of the Eclipse Public License v1.0 which accompanies this distribution,
7  * and is available at http://www.eclipse.org/legal/epl-v10.html
8  */
9
10 package org.opendaylight.controller.sal.routing;
11
12 import java.util.Map;
13
14 import org.opendaylight.controller.sal.core.Edge;
15 import org.opendaylight.controller.sal.core.Node;
16 import org.opendaylight.controller.sal.core.Path;
17
18 /**
19  * This interface provides APIs to manage and query the routing information
20  *
21  */
22 @Deprecated
23 public interface IRouting {
24
25     /**
26      * Returns a Path leading from the source to the destination
27      *
28      * @param src
29      *            source {@link org.opendaylight.controller.sal.core.Node}
30      *
31      * @param dst
32      *            destination
33      *            {@link org.opendaylight.controller.sal.core.Node}
34      * @return: the {@link org.opendaylight.controller.sal.core.Path}
35      */
36     public Path getRoute(Node src, Node dst);
37
38     /**
39      * Returns a Max ThroughPut Path leading from the source to the destination
40      *
41      * @param src
42      *            source {@link org.opendaylight.controller.sal.core.Node}
43      *
44      * @param dst
45      *            destination
46      *            {@link org.opendaylight.controller.sal.core.Node}
47      * @return: the max throughput {@link org.opendaylight.controller.sal.core.Path}
48      */
49     public Path getMaxThroughputRoute(Node src, Node dst);
50
51     /**
52      * Returns a Path leading from the source to the destination that meets the
53      * specified bandwidth
54      *
55      * @param src
56      *            source {@link org.opendaylight.controller.sal.core.Node}
57      *
58      * @param dst
59      *            destination {@link org.opendaylight.controller.sal.core.Node}
60      * @param Bw
61      *            the bandwidth
62      * @return: the {@link org.opendaylight.controller.sal.core.Path}
63      */
64     public Path getRoute(Node src, Node dst, Short Bw);
65
66     /**
67      * Remove all routes and reset all state. USE CAREFULLY!
68      */
69     public void clear();
70
71     /**
72      * Remove all Max Throughput Routes and reset all state. USE CAREFULLY!
73      */
74     public void clearMaxThroughput();
75
76     /**
77      * Initialization For Max Throughput
78      *
79      * @param EdgeWeightMap
80      *            Map containing
81      *            {@link org.opendaylight.controller.sal.core.Edge} and
82      *            Corresponding Weight. Optional Param - if null, implementation
83      *            specific weight calculation will be used.
84      */
85     public void initMaxThroughput(Map<Edge, Number> EdgeWeightMap);
86
87 }