blob: 69689990023ac8030ea0af68fef16f725ea11c09 [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.
Ray Milkey269ffb92014-04-03 14:43:30 -070011 * <p/>
Jonathan Hart5e448782013-12-10 12:36:35 -080012 * This should be refactored to a listener framework in the future.
Jonathan Hart5e448782013-12-10 12:36:35 -080013 *
Ray Milkey269ffb92014-04-03 14:43:30 -070014 * @author jono
Jonathan Hart5e448782013-12-10 12:36:35 -080015 */
16public interface IForwardingService extends IFloodlightService {
Ray Milkey269ffb92014-04-03 14:43:30 -070017 /**
18 * 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.
23 */
24 public void flowsInstalled(Collection<FlowPath> installedFlowPaths);
25
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}