Merge "Bug fix for ForwardingRulesManager: addFlow and addFlowAsync are reversed."
[controller.git] / opendaylight / protocol_plugins / openflow / src / main / java / org / opendaylight / controller / protocol_plugin / openflow / ITopologyServiceShimListener.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.protocol_plugin.openflow;
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  * The Interface provides Edge updates to the topology listeners
20  */
21 public interface ITopologyServiceShimListener {
22     /**
23      * Called to update on Edge in the topology graph
24      *
25      * @param edge                      {@link org.opendaylight.controller.sal.core.Edge} being updated
26      * @param type              {@link org.opendaylight.controller.sal.core.UpdateType}
27      * @param props             set of {@link org.opendaylight.controller.sal.core.Property} like
28      *                                          {@link org.opendaylight.controller.sal.core.Bandwidth} and/or
29      *                                          {@link org.opendaylight.controller.sal.core.Latency} etc.
30      */
31     public void edgeUpdate(Edge edge, UpdateType type, Set<Property> props);
32
33     /**
34      * Called when an Edge utilization is above the safe threshold configured
35      * on the controller
36      * @param {@link org.opendaylight.controller.sal.core.Edge}
37      */
38     public void edgeOverUtilized(Edge edge);
39
40     /**
41      * Called when the Edge utilization is back to normal, below the safety
42      * threshold level configured on the controller
43      *
44      * @param {@link org.opendaylight.controller.sal.core.Edge}
45      */
46     public void edgeUtilBackToNormal(Edge edge);
47 }