X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?a=blobdiff_plain;f=opendaylight%2Fprotocol_plugins%2Fopenflow%2Fsrc%2Fmain%2Fjava%2Forg%2Fopendaylight%2Fcontroller%2Fprotocol_plugin%2Fopenflow%2FITopologyServiceShimListener.java;fp=opendaylight%2Fprotocol_plugins%2Fopenflow%2Fsrc%2Fmain%2Fjava%2Forg%2Fopendaylight%2Fcontroller%2Fprotocol_plugin%2Fopenflow%2FITopologyServiceShimListener.java;h=23b40a3e304e3aba9704a03445e7b34bc98a5dae;hb=29f7cfb54b580928c7feac63abce028a7014b0d5;hp=0000000000000000000000000000000000000000;hpb=42210c03b0a4c54706320ba9f55794c0abd4d201;p=controller.git diff --git a/opendaylight/protocol_plugins/openflow/src/main/java/org/opendaylight/controller/protocol_plugin/openflow/ITopologyServiceShimListener.java b/opendaylight/protocol_plugins/openflow/src/main/java/org/opendaylight/controller/protocol_plugin/openflow/ITopologyServiceShimListener.java new file mode 100644 index 0000000000..23b40a3e30 --- /dev/null +++ b/opendaylight/protocol_plugins/openflow/src/main/java/org/opendaylight/controller/protocol_plugin/openflow/ITopologyServiceShimListener.java @@ -0,0 +1,49 @@ + +/* + * Copyright (c) 2013 Cisco Systems, Inc. and others. All rights reserved. + * + * This program and the accompanying materials are made available under the + * terms of the Eclipse Public License v1.0 which accompanies this distribution, + * and is available at http://www.eclipse.org/legal/epl-v10.html + */ + +package org.opendaylight.controller.protocol_plugin.openflow; + +import java.util.Set; + +import org.opendaylight.controller.sal.core.Edge; +import org.opendaylight.controller.sal.core.Property; +import org.opendaylight.controller.sal.core.UpdateType; + +/** + * Interface class that provides Edge updates to the topology listeners + * + * + */ +public interface ITopologyServiceShimListener { + /** + * Called to update on Edge in the topology graph + * + * @param edge {@link org.opendaylight.controller.sal.core.Edge} being updated + * @param type {@link org.opendaylight.controller.sal.core.UpdateType} + * @param props set of {@link org.opendaylight.controller.sal.core.Property} like + * {@link org.opendaylight.controller.sal.core.Bandwidth} and/or + * {@link org.opendaylight.controller.sal.core.Latency} etc. + */ + public void edgeUpdate(Edge edge, UpdateType type, Set props); + + /** + * Called when an Edge utilization is above the safe threshold configured + * on the controller + * @param {@link org.opendaylight.controller.sal.core.Edge} + */ + public void edgeOverUtilized(Edge edge); + + /** + * Called when the Edge utilization is back to normal, below the safety + * threshold level configured on the controller + * + * @param {@link org.opendaylight.controller.sal.core.Edge} + */ + public void edgeUtilBackToNormal(Edge edge); +}