Update comments for JavaDoc
[controller.git] / opendaylight / 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 public interface IRouting {
23
24     /**
25      * Returns a Path leading from the source to the destination
26      * @param src: source Node
27      * @param dst: destination Node
28      * @return: Path
29      */
30     public Path getRoute(Node src, Node dst);
31
32     /**
33      * Returns a Max ThroughPut Path leading from the source to the destination
34      * @param src: source Node
35      * @param dst: destination Node
36      * @return: MTPath
37      */
38     public Path getMaxThroughputRoute(Node src, Node dst);
39
40     /**
41      * Returns a Path leading from the source to the destination that meets the specified bandwidth
42      * @param src: source Node
43      * @param dst: destination Node
44      * @param Bw: bandwidth
45      * @return: Path
46      */
47     public Path getRoute(Node src, Node dst, Short Bw);
48
49     /**
50      * Remove all routes and reset all state. USE CAREFULLY!
51      */
52     public void clear();
53
54     /**
55      * Remove all Max Throughput Routes and reset all state. USE CAREFULLY!
56      */
57     public void clearMaxThroughput();
58
59     /**
60      * Initialization For Max Throughput
61      * @param EdgeWeightMap: Map containing Edge and Corresponding
62      * Weight. Optional Param - if null, implementation specific weight
63      * calculation will be used.
64      */
65     public void initMaxThroughput(Map<Edge, Number> EdgeWeightMap);
66
67 }