Merge "Refactor frontend JS"
[controller.git] / opendaylight / sal / api / src / main / java / org / opendaylight / controller / sal / topology / IPluginOutTopologyService.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.topology;
11
12 import java.util.Set;
13
14 import org.opendaylight.controller.sal.core.Edge;
15 import org.opendaylight.controller.sal.core.Property;
16 import org.opendaylight.controller.sal.core.UpdateType;
17
18 /**
19  * @file   IPluginOutTopologyService.java
20  *
21  * @brief  Methods that are invoked from Protocol Plugin toward SAL
22  *
23  * Every time a protocol plugin update the topology, it will call this
24  * service provided by SAL so the update can migrate upward toward the
25  * applications
26  */
27
28 /**
29  * Methods that are invoked from Protocol Plugin toward SAL
30  *
31  */
32 public interface IPluginOutTopologyService {
33     /**
34      * Called to update on Edge in the topology graph
35      *
36      * @param e Edge being updated
37      * @param type Type of update
38      * @param props Properties of the edge, like BandWidth and/or Latency etc.
39      */
40     public void edgeUpdate(Edge e, UpdateType type, Set<Property> props);
41
42     /**
43      * Called when an Edge utilization is above the safety threshold
44      * configured on the controller
45      * 
46      * @param edge
47      */
48     public void edgeOverUtilized(Edge edge);
49
50     /**
51      * Called when the Edge utilization is back to normal, below the safety
52      * threshold level configured on the controller
53      *
54      * @param edge
55      */
56     public void edgeUtilBackToNormal(Edge edge);
57 }