Checkstyle enforcer
[controller.git] / opendaylight / sal / api / src / main / java / org / opendaylight / controller / sal / topology / IPluginOutTopologyService.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 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     /**
35      * Called to update on Edge in the topology graph
36      *
37      * @param topoedgeupdateList
38      *            List of topoedgeupdates Each topoedgeupdate includes edge, its
39      *            Properties ( BandWidth and/or Latency etc) and update type.
40      */
41     public void edgeUpdate(List<TopoEdgeUpdate> topoedgeupdateList);
42
43     /**
44      * Called when an Edge utilization is above the safety threshold configured
45      * on the controller
46      *
47      * @param edge
48      */
49     public void edgeOverUtilized(Edge edge);
50
51     /**
52      * Called when the Edge utilization is back to normal, below the safety
53      * threshold level configured on the controller
54      *
55      * @param edge
56      */
57     public void edgeUtilBackToNormal(Edge edge);
58 }