Checkstyle enforcer
[controller.git] / opendaylight / sal / api / src / main / java / org / opendaylight / controller / sal / topology / IListenTopoUpdates.java
1 /*
2  * Copyright (c) 2013 Cisco Systems, Inc. and others.  All rights reserved.
3  *
4  * This program and the accompanying materials are made available under the
5  * terms of the Eclipse Public License v1.0 which accompanies this distribution,
6  * and is available at http://www.eclipse.org/legal/epl-v10.html
7  */
8
9 package org.opendaylight.controller.sal.topology;
10
11 import java.util.List;
12
13 import org.opendaylight.controller.sal.core.Edge;
14
15 /**
16  * @file   IListenTopoUpdates.java
17  *
18  * @brief  Topology notifications provided by SAL toward the application
19  *
20  * For example an application that wants to keep up to date with the
21  * updates coming from SAL it will register in the OSGi service
22  * registry this interface (on a per-container base) and SAL will call it
23  * providing the update
24  */
25
26 /**
27  * Topology notifications provided by SAL toward the application
28  *
29  */
30 public interface IListenTopoUpdates {
31     /**
32      * Called to update on Edge in the topology graph
33      *
34      * @param topoedgeupdateList
35      *            List of topoedgeupdates Each topoedgeupdate includes edge, its
36      *            Properties ( BandWidth and/or Latency etc) and update type.
37      */
38     public void edgeUpdate(List<TopoEdgeUpdate> topoedgeupdateList);
39
40     /**
41      * Called when an Edge utilization is above the safety threshold configured
42      * on the controller
43      *
44      * @param edge
45      *            The edge which bandwidth usage is above the safety level
46      */
47     public void edgeOverUtilized(Edge edge);
48
49     /**
50      * Called when the Edge utilization is back to normal, below the safety
51      * threshold level configured on the controller
52      *
53      * @param edge
54      */
55     public void edgeUtilBackToNormal(Edge edge);
56 }