blob: 375da88e8ed31bb71324efa9a7084b0f48d4e941 [file] [log] [blame]
Jonathan Hart0961fe82014-04-03 09:56:25 -07001package net.onrc.onos.apps.forwarding;
Jonathan Hart5e448782013-12-10 12:36:35 -08002
Pavlin Radoslavov7208e9a2013-12-11 14:31:07 -08003import java.util.Collection;
4
Jonathan Hart5e448782013-12-10 12:36:35 -08005import net.floodlightcontroller.core.module.IFloodlightService;
Jonathan Hart23701d12014-04-03 10:45:48 -07006import net.onrc.onos.core.util.FlowPath;
Jonathan Hart5e448782013-12-10 12:36:35 -08007
8/**
9 * Temporary interface that allows the Forwarding module to be
Pavlin Radoslavova3818db2014-03-20 19:26:08 -070010 * notified when a flow has been installed.
Jonathan Hart5e448782013-12-10 12:36:35 -080011 *
12 * This should be refactored to a listener framework in the future.
13 * @author jono
14 *
15 */
16public interface IForwardingService extends IFloodlightService {
17 /**
Pavlin Radoslavov7208e9a2013-12-11 14:31:07 -080018 * Notify the Forwarding module that a collection of flows has been
19 * installed in the network.
20 *
21 * @param installedFlowPaths the collection of FlowPaths that have
22 * been installed in the network.
Jonathan Hart5e448782013-12-10 12:36:35 -080023 */
Pavlin Radoslavov7208e9a2013-12-11 14:31:07 -080024 public void flowsInstalled(Collection<FlowPath> installedFlowPaths);
Jonathan Hart0444d932014-01-22 15:06:17 -080025
26 /**
27 * Notify the Forwarding module that a flow has expired and been
28 * removed from the network.
29 *
30 * @param removedFlowPath The FlowPath that was removed
31 */
32 public void flowRemoved(FlowPath removedFlowPath);
Jonathan Hart5e448782013-12-10 12:36:35 -080033}